Skip to content

Package: FGGameBuilder

FGGameBuilder

Coverage

1: package de.fhdw.gaming.ipspiel24.fg.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.fg.moves.FGMove;
10:
11: /**
12: * A builder which allows to create a Freizeitgestaltung game.
13: */
14: public interface FGGameBuilder extends GameBuilder {
15:
16: /**
17: * Creates an{@link FGPlayerBuilder} which allows to create and add a player to the game together with her
18: * strategy.
19: *
20: */
21: FGPlayerBuilder createPlayerBuilder();
22:
23: /**
24: * Adds a player and her corresponding strategy.
25: *
26: * @param player The player.
27: * @param strategy The player's strategy.
28: * @throws GameException if adding the player is not allowed by the rules of the game.
29: */
30: FGGameBuilder addPlayer(FGPlayer player, FGStrategy strategy) throws GameException;
31:
32: @Override
33: FGGameBuilder addObservers(List<Observer> newObservers);
34:
35: @Override
36: Game<FGPlayer, FGState, FGMove, FGStrategy> build(int id) throws GameException, InterruptedException;
37:
38: }