Java - 在主框中添加9个框

时间:2012-09-16 23:14:00

标签: java

这里有典型的新词。试图为我的第一个编程课构建所有强大的tic-tac-toe网格。

我一直在尝试从api文档中做到这一点的一切,但到目前为止没有运气。

我认为我最大的问题是不了解如何使用方法和参数,并且是一个完整的新手,但我会到达那里。

这就是我所拥有的:

import java.awt.Rectangle;

public class TicTacToe {
    public static void main (String[] args) {
        new Rectangle (0,0,30,30); //create new box
        Rectangle box = new Rectangle (0,0,30,30); // tying the box to a variable

        box.add (Rectangle 0,0,10,10); /* error box can onot be resolved to a variable*/

    }
}

所以我的问题是如何在这个较大的盒子里添加9盒尺寸宽度为10的高度10?当我添加这些框时,我必须输入新的xy尺寸吗?

谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

我认为你的目标是编写一个简单的命令行程序,而不是一个带有用户界面的程序。正确?如果是这样,那么您需要从计算机的角度考虑问题。虽然tic tac toe board是一组9个方块,对于人类而言,它只是一组9个变量,每个变量可以有3种可能的状态:1)填充X,2)填充a O,和3)打开。因此,您的电路板可以表示为例如9个整数的数组。

像这样:

int[] board = new int[9];

要跟踪每个方块的状态,可以声明一些常量:

static final int OPEN = 0;
static final int FILLED_WITH_X = 1;
static final int FILLED_WITH_O = 2;

你的程序的其余部分可以只是操纵板阵列,根据需要改变其状态(即其元素的值)。您甚至可以将此板的字符串表示形式输出到命令行。

如果您打算在屏幕上绘制电路板,那么使用Rectangle类的唯一原因就是它。在这种情况下,我会创建一个带有白色背景的大矩形并在屏幕上绘制它。然后我会在它上面画出9个较小的矩形,每个矩形都有一个深色背景,给你游戏网格。最后,我将根据前面讨论的board数组的状态在适当的位置绘制x和o(圆和交叉线段)。这里重要的一点是,父母不需要包含矩形对象。实际上,您只需要为每个要绘制的坐标找出坐标集(4个十进制数),然后编写一个在屏幕上所需位置绘制矩形的方法。