Skip to content

Package: IDilemmaMoveFactory

IDilemmaMoveFactory

Coverage

1: package de.fhdw.gaming.ipspiel23.dilemma.moves;
2:
3: import de.fhdw.gaming.ipspiel23.dilemma.domain.DilemmaAnswerType;
4:
5: /**
6: * Allows to create Dilemma moves.
7: */
8: public interface IDilemmaMoveFactory {
9:
10: /**
11: * Creates the move to confess.
12: */
13: IDilemmaMove createDefectMove();
14:
15: /**
16: * Creates the move to stay silent.
17: */
18: IDilemmaMove createCooperateMove();
19:
20: /**
21: * Creates a move equivalent to the provided move.
22: * @param move The move to mirror.
23: */
24: IDilemmaMove sameAs(IDilemmaMove move);
25:
26: /**
27: * Creates a move opposite to the provided move.
28: * @param move The move to create the opposite of.
29: */
30: IDilemmaMove oppositeOf(IDilemmaMove move);
31:
32: /**
33: * Creates a move corresponding to the provided answer type.
34: * @param answer The answer type to create the move for.
35: */
36: IDilemmaMove fromAnswer(DilemmaAnswerType answer);
37: }