我正在创建一个国际象棋程序,计算机可以对抗人类,但是现在我只是希望计算机在我将一块作为人类移动后随机移动棋盘。一切似乎工作正常,但计算机不会移动板上除了我点击文件菜单,启动了执行操作的点击命令。因此,我必须始终在电脑上随意点击,然后在电路板上随意移动。但我希望它是“自动的”。
我这样做;
if (command == "1") {
while(!gameover) {
if (board.getTurn()) { //computer turn
List<Map.Entry<Location, ArrayList<Location>>> whitemovelist = new ArrayList<Map.Entry<Location, ArrayList<Location>>>(whitemap.entrySet());
Collections.shuffle(whitemovelist);
System.out.println("White turn");
for (Map.Entry<Location, ArrayList<Location>> entry : whitemovelist) {
if(entry.getValue().size() != 0) {
for (int i = 0; i < entry.getValue().size(); i++) {
System.out.println(entry.getKey() + " :: " + entry.getValue().get(i));
from = entry.getKey();
to = entry.getValue().get(i);
}
}
}
processOne(from);
movePiece(to);
System.out.println("Take piece " +board.takenPiece);
}
}
}
答案 0 :(得分:0)
阅读后,这似乎很明显。
AIMovePiece()