Skip to content

Package: ICalculatorKopplung

ICalculatorKopplung

Coverage

1: package de.fhdw.gaming.ipspiel23.gst.domain;
2:
3: import de.fhdw.gaming.core.domain.Move;
4: import de.fhdw.gaming.core.domain.Player;
5: import de.fhdw.gaming.core.domain.State;
6: import de.fhdw.gaming.ipspiel23.gst.strategies.domain.IGstKopplungsMiniMaxStrategy;
7:
8: /**
9: * A calculator interface for calculating the next move in a game.
10: * The calculator takes the current game state, maximum computation time, and a mini-max strategy as inputs.
11: * It returns the calculated move for the player in the given state.
12: *
13: * @param <P> The type of player in the game.
14: * @param <S> The type of state in the game.
15: */
16: public interface ICalculatorKopplung<P extends Player<P>, S extends State<P, S>> {
17:
18: /**
19: * Calculates the next best move for the current Player in the game.
20: *
21: * @param kopplung The game object representing the specific game being played.
22: * @param state The current state of the game.
23: * @param maximumComputationTime The maximum computation time allowed for calculating the move (in seconds).
24: * @param strategy The mini-max strategy used for calculating the move.
25: * @return The calculated move for the player in the given state.
26: */
27: Move<P, S> calculateMove(IKopplung<P, S> kopplung, S state, Integer maximumComputationTime,
28: IGstKopplungsMiniMaxStrategy<P, S> strategy);
29: }