スクラッチで「テトリス」を作る
完成版プレイ
キーボードの方向キーか、画面上の操作ボタンをクリックもしくはタップで操作できます。
プロジェクトページ
↑ここです。
Youtubeでコーディング再現動画を公開しています。
プログラム概要
作ったスプライトと背景
・配置マス(当たり判定等)
・パーツ1 ~ 7 (操作対象と次のパーツ表示)
・各ボタン(移動、回転、リセット)
・タイトル
・当たりマス(消去行の判定等)
・背景(変数の初期化とか次のパーツ出現等)
配置マス
ユーザーが動かすパーツと「〇に触れた」判定に使います。
配置マスのコスチュームには、パーツがゲーム領域をはみ出さないように「枠」と場所が確定したパーツのマス(各色)が用意されています。
コスチュームのパーツ1~7 はクローンで作られます。
「枠」はオリジナルのスプライトのまま使っています。
壁になる部分を全て「配置マス」で作ることで、動かしているパーツとの当たり判定を
「(配置マス)に触れた」 だけで判定できるようになります。
コーディングは簡単になる代わりに、コスチュームを描くときは配置とプログラムで決めたマスのサイズとの調整が必要になりました。
(マスのほうはやや小さめにしてればOKでした)
パーツ1 ~ 7
コード内容はほぼ同じなので、パーツ1を作ったら2~7は複製して数値を少しかえるだけ作っています。
コスチュームはパーツ1に4×4のベースとなるコスチュームを作っておいて、あとは複製後に必要なところを選択してからコピー&ペーストするだけです。
色は適当に決めて変えました。
スプライトのオリジナルは、「タイトル」と「次のパーツ」で使っています。
クローンされたパーツはユーザーが操作できるように左右と下、回転の処理が書かれています。
ぶつかって場所が確定したら、その場所に「配置マス」を作って自身は消滅します。
各ボタン
「タイトル」「ゲームオーバー」中とそれ以外でそれぞれ処理をします。
ほとんど同じコードです。
タイトル
タイトル文字とゲームオーバー文字を表示します。
当たりマス
1マスより小さい「円」のコスチュームを順番にずらしながら当たり判定をします。
消える行の番号をリストに追加します。
また、一度に消えた行数に応じて点数を加算します。
背景
ゲーム全体で使う各変数の値を初期化します。
得点
1行: 50点
2行: 150点
3行: 500点
4行: 2000点
適当に決めました。。。
とりあえず完成してよかったです。
Youtubeでコーディングの完全再現版をアップしています。
この記事を最後まで読んで頂きありがとうございました。
他の作品記事もよければ読んでみてください。
「水色のパンダ団」が作ったスクラッチ作品の記事まとめ
スクラッチ作品の作り方や解説をした記事を整理しました。小学生などの初心者やゲームを作りたい中級、上級者などプログラミングのスキル別に作品をまとめています。
0 件のコメント:
コメントを投稿