Step 02 of 12
初期配置
オセロは中央 4 マスに黒白 2 石ずつ置いて始まります。
盤面を int[][] board で持ち、setup() で初期値を入れ、
render() 内で 円として石を描きます。
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 つが置かれていれば成功。 右上が白、左下が白、左上と右下が黒 … ではなく、斜めに同じ色が並ぶのがオセロの正しい初期配置です。