Skip to content

Package: MuenzwurfGameBuilder

MuenzwurfGameBuilder

Coverage

1: package de.fhdw.gaming.ipspiel24.muenzwurf.core.domain;
2:
3: import java.util.List;
4:
5: import de.fhdw.gaming.core.domain.Game;
6: import de.fhdw.gaming.core.domain.GameBuilder;
7: import de.fhdw.gaming.core.domain.GameException;
8: import de.fhdw.gaming.core.domain.Observer;
9: import de.fhdw.gaming.ipspiel24.muenzwurf.core.moves.MuenzwurfMove;
10:
11: /**
12: * A builder which allows to create a Demo game.
13: */
14: public interface MuenzwurfGameBuilder extends GameBuilder {
15:
16: /**
17: * Creates an {@link MuenzwurfPlayerBuilder} which allows to create and add a player to the game together with her
18: * strategy.
19: */
20: MuenzwurfPlayerBuilder createPlayerBuilder();
21:
22: /**
23: * Adds a player and her corresponding strategy.
24: *
25: * @param player The player.
26: * @param strategy The player's strategy.
27: * @throws GameException if adding the player is not allowed by the rules of the game.
28: */
29: MuenzwurfGameBuilder addPlayer(MuenzwurfPlayer player, MuenzwurfStrategy strategy) throws GameException;
30:
31: @Override
32: MuenzwurfGameBuilder addObservers(List<Observer> newObservers);
33:
34: @Override
35: Game<MuenzwurfPlayer, MuenzwurfState, MuenzwurfMove, MuenzwurfStrategy> build(int id)
36: throws GameException, InterruptedException;
37: }