gpt4 book ai didi

java - 帮助操作 3D 数组

转载 作者:太空宇宙 更新时间:2023-11-04 08:45:35 24 4
gpt4 key购买 nike

该游戏是 3D 版本的 tic-tac-toe,有 3 个棋盘。棋盘上的每个位置均由 [x,y,z] 坐标组成。 x 是棋盘的编号,y、z 是该棋盘上的坐标。我正在尝试定义一种方法,只允许您在游戏的前 9 回合中从第一个棋盘中进行选择,但遇到了问题。这是代码。

public void set(Position p, int v) throws IOException { 
if (board[p.x][p.y][p.z]!= 0) throw new IOException("Position taken");
board[p.x][p.y][p.z] = v;

我不知道要在这个方法中添加什么,以仅允许在前 9 回合内在船上移动。我尝试过使用计数器,例如 if 语句,例如...

public void set(Position p, int v) throws IOException { 
int counter = 0;
if (board[p.x][p.y][p.z]!= 0) throw new IOException("Position taken");
board[p.x][p.y][p.z] = v;
while (counter < 10) {
if (p.x != 1) throw new IOException("Invalid Move");
}

当我尝试这个方法以及该方法的其他操纵版本时,即使 p.x 等于 1,我每次都会收到“无效移动”错误。有关如何循环此操作或任何其他方法来完成此操作的任何建议吗?

最佳答案

你确实应该自己学习,而不是让我们为你做作业。我不会回答你的问题,但我会指出你的代码存在几个巨大的问题:

1:计数器的范围在 set 方法内,因此在该方法开始时始终会设置为零,即使这是第 20 圈。2:计数器永远不会递增,因此始终具有其初始值。3:Java 中的数组从 0 开始,而不是从 1 开始。4:IOException 不是该方法抛出的合适异常,因为它没有执行任何 IO。

关于java - 帮助操作 3D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4406977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com