Step 03 of 12

カーソル操作

矢印キーでカーソルを動かし、今どこを選んでいるかを HIGHLIGHT 色の太枠で示します。これ以降、プレイヤーは必ずこのカーソル経由で石を置きます。

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

About this step

onKey の書き方

onKey(Key key) は、キーが押されたときに 1 回だけ呼ばれます。 中身は「どのキーか」「動ける範囲か」を && で組み合わせて if を並べるだけ。4 方向それぞれに 1 行書きます。

境界チェックの重要性

cursorCol が負の値や 8 以上になると、次の Step 以降で board[row][col] にアクセスしたときに ArrayIndexOutOfBoundsException で落ちます。 端で動きを止める条件 (cursorCol > 0 / cursorCol < COLS - 1) をここで仕込むこと。

太い枠の作り方

strokeRect は線幅 1px 固定です。太く見せたいときは、 位置とサイズを 1 ピクセルずつずらしながら 2〜3 本重ねるのが定番。 Canvas 系 API で普通に使うテクニックです。