2021年07月06日 10時00分

第8弾プロジェクト「ボタン連打ゲーム」

こんにちは!😊

スーパーブログ

「実際にプロジェクトを動かせる記事」の第8回目となります!

今回はボタンを連打してLEDを点灯させるゲームプロジェクトになります。

皆さんがSPACEBLOCK(スペースブロック)でプログラミングされる際の参考になればと思います!😆

今回のプロジェクト


今回のプロジェクトは8×8LEDパネルPA8ボタンを使っています。

~ゲームの目標~

決められた時間内にボタンを連打をし、できるだけLEDを点灯させる

(できれば全て点灯させる)

SBブログ_連打ゲーム.gif

  1. PA8ボタンを押すとLEDが左上から順番に1つずつ点灯
  2. 時間内に全て点灯出来たらコンソールにおめでとう!と表示
  3. 時間内に全て点灯できなかった場合、点灯したLEDの数をコンソールに表示

という流れで動作するプロジェクトとなります。

プロジェクトの解説


変数をセット

image.png

今回はゲームの時間を14秒に決めます。

(きりのいい10秒にしたかったのですが、間に合いませんでした😅)

点灯するLEDの座標を決めるために変数xと変数yをセットします。

また、今回「全てのLEDが点灯したか」の確認として、

8×8LEDの右下端が赤色(#E60012)であればゲーム終了」という条件にしています。

ので、わかりやすいように変数にカラーコードをセットしています。

※点灯しているLEDのカラーコードはこんな感じで確認することができます。

image.png

image.png

決められた時間の間プログラムを繰り返す

image.png

決めた時間分、プログラムを繰り返します。

その中で、もしLEDが全部点灯したらゲームを終了させるという処理を書きます。

ループから抜け出すというブロックがあるのでこちらを使用します。

ボタンを押したらLEDが順番に点灯するようにする

image.png

ボタンを押すたびにLEDを点灯させ、次に点灯させるLEDの座標を横にずらすため、変数xに1足します。

8×8のLEDパネルの為、変数xが9になったら変数xを1にリセットし、変数yに1足して一列降りるようにします。

ゲームが終了した後の処理

image.png

ゲームが終了した後の処理を②の繰り返し処理の下に書きます。

全て点灯した場合、おめでとう!と表示し、

image.png

そうでなかった場合、点灯したLEDの個数をコンソールに表示します。

image.png

皆さんもぜひSPACEBLOCK(スペースブロック)でプログラミングを楽しんでください!😊

公式ブログ
公式ブログ
officialtyping-level-20question-level-10
SPACEBLOCK(スペースブロック)公式ブログです。