【スクラッチ】シンプルなコードで「テトリス」を作ってみる

2021年6月16日水曜日

Scratch プログラミング

t f B! P L

 

スクラッチで「テトリス」を作る



完成版プレイ




キーボードの方向キーか、画面上の操作ボタンをクリックもしくはタップで操作できます。




プロジェクトページ



↑ここです。





Youtubeでコーディング再現動画を公開しています。



プログラム概要


作ったスプライトと背景


配置マス(当たり判定等)
パーツ1 ~ 7 (操作対象と次のパーツ表示)
各ボタン(移動、回転、リセット)
タイトル
当たりマス(消去行の判定等)
背景(変数の初期化とか次のパーツ出現等)






配置マス


ユーザーが動かすパーツと「〇に触れた」判定に使います。

配置マスのコスチュームには、パーツがゲーム領域をはみ出さないように「枠」と場所が確定したパーツのマス(各色)が用意されています。




コスチュームのパーツ1~7 はクローンで作られます。
「枠」はオリジナルのスプライトのまま使っています。


壁になる部分を全て「配置マス」で作ることで、動かしているパーツとの当たり判定
「(配置マス)に触れた」 だけで判定できるようになります。


コーディングは簡単になる代わりに、コスチュームを描くときは配置とプログラムで決めたマスのサイズとの調整が必要になりました。

(マスのほうはやや小さめにしてればOKでした)




パーツ1 ~ 7


コード内容はほぼ同じなので、パーツ1を作ったら2~7は複製して数値を少しかえるだけ作っています。

コスチュームはパーツ1に4×4のベースとなるコスチュームを作っておいて、あとは複製後に必要なところを選択してからコピー&ペーストするだけです。

は適当に決めて変えました。





スプライトのオリジナルは、「タイトル」「次のパーツ」で使っています。

クローンされたパーツはユーザーが操作できるように左右と下、回転の処理が書かれています。

ぶつかって場所が確定したら、その場所に「配置マス」を作って自身は消滅します。




各ボタン


タイトル」「ゲームオーバー」中とそれ以外でそれぞれ処理をします。

ほとんど同じコードです。




タイトル


タイトル文字ゲームオーバー文字を表示します。






当たりマス


1マスより小さい「円」のコスチュームを順番にずらしながら当たり判定をします。




消える行の番号をリストに追加します。

また、一度に消えた行数に応じて点数を加算します。




背景


ゲーム全体で使う各変数の値を初期化します。





次に出てくるパーツをランダムで決めてリストに追加します。




得点


1行: 50点
2行: 150点
3行: 500点
4行: 2000点


適当に決めました。。。


とりあえず完成してよかったです。




Youtubeでコーディングの完全再現版をアップしています。




この記事を最後まで読んで頂きありがとうございました。


他の作品記事もよければ読んでみてください。


このブログを検索

ブログをよくする

自己紹介

自分の写真
はじめまして。はるはるです。 中2の息子と小5の娘を抱える2児の父です。今はゲーム会社で働いています。 子供のプログラミング学習に協力できるように教え方を勉強中です。 このブログでは簡単なゲームを作りながら自分が学んだことを少しずつ共有していきます。 情報処理の試験をたまに受けます。 第二種情報処理技術者 ソフトウェア開発技術者 基本情報処理技術者 応用情報処理技術者 twitter: https://twitter.com/amaruchan007

連絡フォーム

名前

メール *

メッセージ *

QooQ