-5

任务是使用二维数组创建井字游戏。我在下面为游戏创建了棋盘,但现在我遇到的问题是让用户在棋盘上放置 X 和 O。我必须使用一个二维数组来表示我的板。如何修改这些值,以便我可以执行以下操作?

所以这

1 | 2 | 3 
----------
4 | 5 | 6 
----------
7 | 8 | 9

可以变成这样

X | X | O 
----------
4 | 5 | 6 
----------
O | 8 | 9

从本质上讲,我已经制作了棋盘,我如何制作它以便人们可以玩它?谢谢。

public class TicTacToe 
{
    public static void main( String args[]) 
    { 
        int [][]board = new int[3][3];

        int row =0;
        int column =0;
        int i=1;
        for (row=0;row<board.length; row++)
        { 
            for(column=0;column<board[row].length;column++)
            {
                board[row][column]= i;
                i++;
                System.out.print (" "+(board[row][column])+" ");
            }

            System.out.println();
        }
    }
}
4

2 回答 2

0

您可能最好使用 ArrayList 包含表示字母和放置它的坐标的对象。它是一个打包的表示形式,它可能更适合您尝试实现的那种游戏。不要认为直观的表示更适合您的需要。无论如何,如果你真的想使用二维数组,为什么不使用二维字符数组呢?

于 2015-04-01T19:00:44.827 回答
0

我绝对不能给你一个解决方案,因为这似乎是家庭作业,而这个家庭作业看起来是在正确的轨道上,只是没有完全解决。但是,您应该在将头撞在墙上的同时倾听您的评论员,因为他们已将您引导到一个非常有用的方向。

我认为,一旦你弄清楚数据结构(即可能使用带有编码整数的数组?),你最大的障碍将是你如何让用户与这个程序交互。他们会输入与单元格对应的数字吗?如果是这种情况,我建议您考虑如何在数组中查找值并弄清楚屏幕上的这些数字如何与此过程相对应。一旦你有了这个,用 Xs 和 Os 填充你的电路板将是一项微不足道的任务。

在你觉得你遇到了更多死胡同后回来。但我认为你会在此之前解决这个问题。

祝你好运!

于 2015-04-01T19:09:44.743 回答