Step 02 of 12

ブロックを1つ置く

Step 1 で描いた盤面の上に、赤いブロックを1つ置きます。 ブロックの位置(列・行)をフィールド変数で覚えておくのがポイント。 「オブジェクトの状態」を持つという感覚に慣れます。

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

About this step

何が新しくなった?

フィールド変数が登場しました。 int blockCol = 4;int blockRow = 0; はクラスの 「状態」を持つ変数で、render が呼ばれるたびに同じ値が使えます。 「このブロックは今どこにある?」という情報を、オブジェクトが覚えておくという感覚です。

render の中では、Step 1 と同じ盤面を描いた後に、 赤いブロックを1つ追加で fillRect しています。 描画は「重ねる」順番が大切 — 先に描いたものは後に描いたものに隠されます。

今回追加したもの

  • フィールド変数 blockCol, blockRow — ブロックの位置を覚える
  • Color.RED — 赤色の定数
  • 2つ目の fillRect 呼び出し — 盤面の上に重ねて描く

動かしてみる

Run Java を押すと、盤面の中央上に赤いブロックが1つ表示されます。 blockColblockRow の値を変えれば、 他の場所にも置けます(次のステップで実際に動かします)。