シン・エヴァンゲリオンにてアスカが遊んでいたゲーム。
C言語pythonで実装する。
以下C言語実装時のやつ
外観:W5xH10
配列:W11 x H10
配列 表示
50505050505 ・ ・ ・ ・ ・
50505050505 ・ ・ ・ ・ ・
50505050505 ・ ・ ・ ・ ・
50505050505 ・ ・ ・ ・ ・
50505050505 ・ ・ ・ ・ ・
50506261505 ・ ・[\]/ ・
50516360505 ・ /[_]・ ・
50545050505 ・  ̄ ・ ・ ・
50505050505 ・ ・ ・ ・ ・
50505050505 ・ ・ ・ ・ ・
配列:W5 x H10
00000
00000
00000
00000
00000
00210
01300
04000
00000
00000
配列:W5 x H10
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
| キー | 操作 |
|---|---|
| w | 上へ移動 |
| a | 左へ移動 |
| s | 下へ移動 |
| d | 右へ移動 |
| x | 入れ替え |
操作はxにおいての偶数番目にかかわる
手順
- プレイスペースの配列を判定用配列にコピーする。
- 接続の確認は"判定用配列"より行う
- 左上から行う(判定用の要素数任意のリスト[現在の座標・接続の向きを収納]を作る)
- 左の壁に接してる線を探す("1"にする)
- その線の右上・右・右下(線の種類による)の接続を確認する
- ひとつ右に進める(2.で接続が確認されたらリストに収納する。)ならば進む(リストから削除)進む前にいた座標を"1"にする(ただし、進んだ先が1であれば移動しない)
- 途中で進むことができなくなった場合。分岐後に(または左の壁から)進んだ分の線のステータスを"1"→"0"にする
- 2.~4.を繰り返す(リストの要素がなくなるまで)
- 1.を一つ下について確認する
- "削除用配列"のステータスが"1"である座標を削除する。
エンドレスモード(ゲーム終了=ゲームーバー)のみ
| 記号 | 番号 | 備考 |
|---|---|---|
| ・ | 0 | 空 |
| / | 1 | |
| \ | 2 | |
| _ | 3 | |
|  ̄ | 4 | |
| 5 | 操作部(空) | |
| [ ] | 6 | 操作カーソル |
- プレイスペース作成
- 初期化
- ループ開始
- ゲームオーバー判定
- 消去判定
- 操作
- 最下段に新ブロック挿入(1定時間が経過した後 )