Step 02 of 12

初期配置

オセロは中央 4 マスに黒白 2 石ずつ置いて始まります。 盤面を int[][] board で持ち、setup() で初期値を入れ、 render() 内で として石を描きます。

MyOthello.java
Java runtime を初回読み込み中…
CheerpJ の JRE (数十 MB) をダウンロードしています。2回目以降はキャッシュから瞬時に立ち上がります。
preparing

About this step

setup() って何?

setup() は「ゲーム開始時に 1 回だけ呼ばれる」メソッド。 render() が毎フレーム呼ばれるのに対し、こちらは初期化用です。 ここで盤面の 初期状態を作ります。

盤面は int[][] board という 2 次元配列で持ちます。 各マスは EMPTY (0) / BLACK (1) / WHITE (2) のいずれか。 「数字で状態を表す」のはゲームプログラミングでよく使う型です。

なぜ board[row][col]?

「行(row)が先、列(col)が後」と覚えます。行列でも画像でも同じ流儀。 逆にしても動くコードは書けますが、後で合法手判定や flip を書くとき混乱します。 ここで揃えておくと後が楽。

fillCircle の使い方

このコースで初登場の API。 screen.fillCircle(cx, cy, radius, color)。 左上の座標ではなく 中心の座標を渡します。 半径を CELL/2 - 4 にすると、マスの中にぴったり収まる石になります。

動かしてみる

Run Java を押して、中央 4 マスに 黒 2 つ、白 2 つが置かれていれば成功。 右上が白、左下が白、左上と右下が黒 … ではなく、斜めに同じ色が並ぶのがオセロの正しい初期配置です。