- ラインチェックと消去
- ラインチェック
- ブロックの固定後、フィールドに列が揃った段がないか調べる
- 揃った列の段番号を記録(消去リストの作成)
- 揃った列の段番号は1次元配列もしくはArrayList等で管理する
- ラインの消去
- ラインチェックで作成した消去リストの段番号の段を消去する
- 消去する段のフィールドを0で埋める
- 消去したラインを詰める
- 消去したラインを下方向に詰める
- 消去リストにある段数の小さい方(上の方)から順に下に詰めていくと実装しやすい。(下の方から詰めると削除する段数が累積して処理が複雑になる)
- ラインの詰め方
サンプルコード