5

ここの典型的な初心者。私の最初のプログラミングクラスのために、強力な三目並べグリッドを構築しようとしています。

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*/

    }
}

私の質問は、この大きなボックスに幅 10 高さ 10 のサイズのボックスを 9 つ追加するにはどうすればよいですか? これらのボックスを追加するとき、新しい xy 寸法を入力する必要があります。

お手伝いありがとう!

4

1 に答える 1

2

ここでのあなたの目標は、ユーザーインターフェイスを備えたものではなく、単純なコマンドラインプログラムを作成することだと思います。正しい?もしそうなら、あなたはコンピュータの観点から問題について考える必要があります。三目並べは、人間にとっては9つの正方形のセットですが、コンピューターにとっては、9つの変数のセットであり、それぞれが3つの可能な状態を持つことができます:1)Xで埋められ、2) 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クラスを使用する唯一の理由は、画面にボードを描画する場合です。その場合、背景が白い大きな長方形を1つ作成し、それを画面に描画します。次に、その上に9つの小さな長方形を描画します。それぞれの長方形の背景は暗く、ゲームグリッドが表示されます。board最後に、前に説明した配列の状態に基づいて、適切な位置にxとo(円と交差した線分)を描画します。ここで重要な点は、親に長方形オブジェクトを含める必要がないことです。実際、描画する座標のセット(10進数の4つ)を把握してから、画面上の目的の場所に長方形を描画するメソッドを作成するだけで済みます。

于 2012-09-17T03:29:08.323 に答える