/* Player.java */ package player; /** * A class that is extended by all Network players (human and machine). * * DO NOT CHANGE THIS FILE. */ public abstract class Player { // This player's name as recognized by the game Network. public String myName; // Returns a new move by this player. Internally records the move as a move // by this player. public abstract Move chooseMove(); // If the Move m is legal, records the move as a move by the opponent and // returns true. If the move is illegal, returns false without modifying // the internal state of this player. This method allows your opponents to // inform you of their moves. public abstract boolean opponentMove(Move m); // If the Move m is legal, records the move as a move by this player and // returns true. If the move is illegal, returns false without modifying // the internal state of this player. This method is used to help set up // "Network problems" for your player to solve. public abstract boolean forceMove(Move m); }