package players;import TicTac.*;import java.util.*; /** * DumbPlayer implements the simplest game strategy by randomly * picking one from the set of legal moves */ public class DumbPlayer extends TTPlayer { public DumbPlayer(char playerMark ) { _mark = playerMark; } public TTMove NextMove(char[][] board_status) { Vector moves = TTManager.GetLegalMoves (_mark); if (moves.size() == 0) { throw new RuntimeException("No move!"); } else { Date time = new Date(); long seed = time.getTime(); Random rand = new Random(seed); int i = Math.abs(rand.nextInt()) % moves.size(); return (TTMove) moves.elementAt(i); } } public static void main(String[] argv) { TTPlayer playerX = new DumbPlayer(X); TTPlayer playerO = new DumbPlayer(O); if (argv.length==1 && argv[0].equals("-allmachine")) { TTManager.Singleton().PlayTicTac(playerX, playerO); } else if (argv.length==1 && argv[0].equals("-humansecond")) { TTManager.Singleton().PlayTicTacWithHuman(TTPlayer.X, playerX); } else if (argv.length==1 && argv[0].equals("-help")) { System.out.println ("Usage:\njava DumbPlayer [-help] [-allmachine] [-humansecond]"); } else { TTManager.Singleton().PlayTicTacWithHuman(TTPlayer.O, playerO); } } }