Skip to content

Method: CinemaStrategy(AnswerFactory)

1: package de.fhdw.gaming.ipspiel23.freizeitgestaltung.strategy;
2:
3: import java.util.Optional;
4:
5: import de.fhdw.gaming.core.domain.GameException;
6: import de.fhdw.gaming.ipspiel23.freizeitgestaltung.domain.FzgPlayer;
7: import de.fhdw.gaming.ipspiel23.freizeitgestaltung.domain.FzgState;
8: import de.fhdw.gaming.ipspiel23.freizeitgestaltung.domain.FzgStrategy;
9: import de.fhdw.gaming.ipspiel23.freizeitgestaltung.move.Answer;
10: import de.fhdw.gaming.ipspiel23.freizeitgestaltung.move.factory.AnswerFactory;
11:
12: /**
13: * Implementation for Cinema-Strategy. Implements {@link FzgStrategy}.
14: *
15: */
16: public class CinemaStrategy implements FzgStrategy {
17:
18: /**
19: * Factory for creating answers.
20: */
21: private final AnswerFactory answerFactory;
22:
23: /**
24: * Constructor.
25: * @param answerFactory {@link AnswerFactory} factory to create the answer.
26: */
27: public CinemaStrategy(final AnswerFactory answerFactory) {
28: this.answerFactory = answerFactory;
29: }
30:
31: @Override
32: public Optional<Answer> computeNextMove(final int gameId, final FzgPlayer player, final FzgState state)
33: throws GameException, InterruptedException {
34: return Optional.of(this.answerFactory.createCinemaAnswer());
35: }
36:
37: @Override
38: public String toString() {
39: return this.getClass().getSimpleName();
40: }
41: }