package net.hoo2.auth.dsproject.snake; import java.util.*; public class HeuristicPlayer extends Player { private ArrayList path; public HeuristicPlayer() { super (); path = new ArrayList(); } HeuristicPlayer (int playerId, String name, Board board) { super (playerId, name, board); path = new ArrayList(); } @Override int dice () { return 1; } @Override int getNextMove (int tile) { Map moves = new HashMap(); double max = Double.NEGATIVE_INFINITY; double ev = Double.NEGATIVE_INFINITY; int roll = 0; for (int r=1 ; r<=6 ; ++r) { moves.put (new Integer(r), evaluate (tile, r)); if ((ev = moves.get(r)) > max) { max = ev; roll = r; } } Integer[] move_data = Arrays.stream(move (tile, roll, true)) .boxed() .toArray(Integer[]::new); path.add(move_data); return tile + roll; } @Override void statistics (boolean verbose, boolean sum) { if (sum) { int nSnakes =0; int nLadders =0; int nRedApples =0; int nBlackApples =0; for (int i=0 ; i