java生成计算机移动
我做了一个tic tac toe游戏,虽然我有一个可以工作的电脑移动代码,但它似乎是从左到右,而不是选择一个随机的板槽
以下是我的电脑移动代码:
public static void compTurn(char[][] board, char computer)
{
for (int i = 0; i < board.length; i++)
{
for (int j = 0; j < board.length; j++)
{
if(board[i][j] == ' ')
{
board[i][j] = computer;
return;
}
}
}
}
# 1 楼答案
你现在要做的是按顺序浏览这些空间,并检查它们是否打开。如果是的话,电脑会移到那里。你需要做的是选择一个随机点,直到它找到一个。更好的是,你可以保留一个数组中被占用的点的列表,并尝试移动到一个空闲的点
这是一个基本的解决方案,但老实说,使用阵列是一个更好的方法,无论是在性能还是优雅方面。你基本上会创建两个数组;一个用于包含已占用的插槽(用于保存玩家占用该插槽的内容),另一个用于保存空闲位置的数组(可以是一个简单的布尔值,用于指示spot可用于移动)。每转一圈,检查空置阵列中是否有一个空间是开放的,随机地,他们移动到其中
由于这显然是一项作业,我留下了一些空白供你自己填写,但这应该是你要找的