public void getNextMove(final GameStateModule state) { if (myID == 0) { myID = state.getActivePlayer(); eID = myID == 1 ? 2 : 1; } // only uncomment these if we have reason to believe there will be non-standard sizes // width = state.getWidth(); // height = state.getHeight(); // this is an array the width of the board that symbolizes each possible move moves = new int[width]; chosenMove = r.nextInt(7); int enemyMove = -1; int h = 0; // This loop determines where the enemy played for (int i = 0; i < width; i++) { h = heights[i]; if (h != height && h != state.getHeightAt(i)) { h = heights[i]; heights[i]++; System.out.println("Enemy placed at " + i + "," + h); enemyMove = i; break; } } if (enemyMove != -1) { if (myThreats[enemyMove][h] != 0) myThreats[enemyMove][h] = 0; } findThreats(eID, enemyMove, h, state); findThreats(myID, lastX, lastY, state); // while(!terminate) { evaluate(state); /* for(int i = 0; i < 7; i++) { System.out.print("[" + moves[i] + "]"); } System.out.print("\n"); // */ // countdown = ++depth; // } // printThreats(eThreats); lastX = chosenMove; lastY = heights[chosenMove]; eThreats[lastX][lastY] = 0; heights[chosenMove]++; System.out.println("Depth: " + depth); depth = countdown = 0; }