見出し画像

MakeCodeでpython-2/ミニゲームを作成

割引あり

こんにちは、ロック204チャンネルです。
今回は「MakeCodeでpython 2 ミニゲームを作成」と題しお送りします。

作成するミニゲームのイメージ


https://amzn.to/49TJr02

今回もMakeCodeのPythonを使用しプログラムを作っていくことにします。
まず画面の説明です。
画面の上部にスプライト「jibun」を用意します。
そして、このjibunのスプライトをaボタンで左に、bボタンで右に移動します。またa+bボタンを押すことによってひとつ下の座標に移動することができます。
画面の中央に「teki」のスプライトが待ち構えています。このスプライトは左右に移動し進路を妨害します。
もしjibunとtekiが接触するとゲームオーバーとなります。
このtekiをすり抜けて、下のスプライトgoalに達するとゲームをクリアします。
そして10点スコアが加算されます。
一度ゲームをクリアすると、再びまた新しい位置にjibunのスプライトが表示されゲームを再開することができます。
ゲームオーバーとなった場合はマイクロビットをリセットする必要があります。


こちらに、初期設定のコードを示しています。
33行から35行にかけてスプライトgoal、スプライトteki、スプライトjibunを初期化・定義します。
そして36行、37行、38行でjibun、teki、goalにx座標、y座標を指定し、スプライトを作成します。
jibunとgoalについてはx座標は,0から4までの乱数を発生させます。
そしてランダムな位置に表示するようにしています。
39行では、ゲームの点数スコアを0として初期設定します。

こちらのコードは、ゲームを監視するプログラムになります。
on_forever関数の中に記述を書いています。
42行では tekiを一つ進行方向に進めます。初期設定では右方向に一つ進んでいきます。
そしてhantei関数を呼び出し接触しているかどうかなどの判定を行ないます。
44行ではtekiのスプライトが壁に当たっている場合は反射して、逆方向に進行方向を変更します。
つまり右方向に進んでいる場合には、はしに至ると反対方向 左に進むようにします。
45行のbasic.pause(100)は 100mm秒ほどプログラムを停止しまたループに戻ります。
これはtekiのスプライトの速度を落とすために使用しています。

こちらはボタンのコードを示しています。
Aボタンを押すと スプライトjibunを左方向に一つ進めます。
bボタンでは右方向に一つ進めるように記述しています。
またa+bボタンを押すと jibunのy属性を一つ進めます。
このことによりjibunのスプライトを一つ下に移動することができます。

こちらは判定関数の内容です。
22行はjibunとtekiが接触した場合にif文の条件式はtrueとなります。
そして23行で音を発生させます。
次に25行でゲームオーバーのアニメーションを表示し、スコアを表示します。
そして26行で restart関数を呼び出します。この関数で再スタートを行ないます。
27行はjibunのスプライトがgoalに達するとif文が成立します。
そしてディスプレイにgoodの文字を表示し、スコアーが10点加算されゲームの再スタートが行なわれます。

ここから先は

1,672字 / 2画像 / 1ファイル

この記事が気に入ったらサポートをしてみませんか?