package inf101.v18.rogue101.objects; import inf101.v18.rogue101.game.IGame; import javafx.scene.input.KeyCode; public interface IPlayer extends IActor { /** * Send key presses from the human player to the player object. *

* The player object should interpret the key presses, and then perform its * moves or whatever, according to the game's rules and the player's * instructions. *

* This IPlayer will be the game's current actor ({@link IGame#getActor()}) and * be at {@link IGame#getLocation()}, when this method is called. *

* This method may be called many times in a single turn; the turn ends * {@link #keyPressed(IGame, KeyCode)} returns and the player has used its * movement points (e.g., by calling {@link IGame#move(inf101.v18.grid.GridDirection)}). * * @param game * Game, for interacting with the world * @return True if the player has done anything consuming a turn. False otherwise */ boolean keyPressed(IGame game, KeyCode key); }