第5弾プロジェクト「8×8LEDでうずまき」
![](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/whKOw0DokHXw19Hktb1JF.jpg)
こんにちは!😊
スーパーブログ
「実際にプロジェクトを動かせる記事」の第5回目となります!
今回はうずまき状にLEDを点灯させるプロジェクトになります。
皆さんがSPACEBLOCK(スペースブロック)でプログラミングされる際の参考になればと思います!😆
![うずまき.gif うずまき.gif](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/EPVjfOt0DMCQOj3zkr5he.gif)
今回のプロジェクト
今回はLEDパネルをうずまき状(外側から右回転)に点灯させるプロジェクトです!
描画する方法はたくさんあると思いますが、今回の方法では
- 4辺のそれぞれに対応した処理を作成
- 作成した処理を4回(8列の半分)繰り返す
という流れで動作するプロジェクトとなります。
これからどのようなブロックを使って動かしているのか説明していきます。😌
プロジェクトの解説
①変数をセット
8×8LEDパネルを使用するので、最初に点灯させる辺のLEDの数が8個になります。
という事で、1辺に点灯させるLEDの数として8をセットします。
また、繰り返した回数を保持しておくための変数もセットしておきます。
![image.png image.png](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/wH7VwMhqtSpOpcAqXkBXS.png)
こちらの変数は繰り返し終了の度に数値をセットし直します。
![image.png image.png](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/Hf-iBKokbXOOon83aSZ3r.png)
②それぞれの辺の処理を書く
1つめの辺(左上の角から右上の角まで)
繰り返しの回数
点灯するLEDの数は繰り返した数で変動します。
例えば1回目であれば8-0で8個、2回目であれば7-1で6個になります。
![image.png image.png](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/-7y4ihQcNShVn-0kvA0e-.png)
参考として、下の画像の赤ブロックが1回目、緑ブロックが2回目、オレンジが3回目、青が4回目の繰り返しで点灯させるLEDです。
![image.png image.png](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/zie75yxh2G8Qin1CPfD4w.png)
点灯する位置指定
点灯するLEDの指定は左から右へ点灯していくので、以下のようになります。
繰り返した回数分、xとyの点灯を開始する座標をずらします。
![image.png image.png](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/7TB8pZ7XbES1zdSGETewj.png)
2つめの辺(右上の角から右下の角まで)
繰り返しの回数
1つ目の辺でLEDを点灯した分、1つ減らします。
例えば1回目であれば8-0-1で7個、2回目であれば7-1-1で5個になります。
![image.png image.png](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/ZRPnKTVXbF5SNldboLIwe.png)
点灯する位置指定
点灯させるLEDは上から下へ点灯していくので、以下のようになります。
1つ目の辺で点灯している分をずらします。
![image.png image.png](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/PROybcqtQzeDXEdbSOwbs.png)
3つめの辺(右下の角から左下の角まで)
繰り返しの回数、点灯する位置指定
回数は2つめの辺と同様ですが、右から左へ描画するため、繰り返した回数を引く分として使用するため、0スタートでiに代入します。
![image.png image.png](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/vbynfbnR9x43dBJ3Ts7YU.png)
4つめの辺(左下の角から右上下の角まで)
繰り返しの回数
1つ目の辺でLEDを点灯した分、3つ目の辺でLEDを点灯した分で2つ減らします。
例えば1回目であれば8-0-2で6個、2回目であれば7-1-2で4個になります。
こちらも3つめの辺同様、iに代入する数字を0スタートにします。
![image.png image.png](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/FjU5MZMKhL_K4CKRfBXRU.png)
点灯する位置指定
左下から左上に点灯させるため、以下のようになっています。
![image.png image.png](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/w05ErrYvTNUtvm5dB8XUG.png)
また、プロジェクトを実際にSPACEBLOCK(スペースブロック)で動かす際に、変数をセットしているブロックの下に消灯ブロックを入れると、それぞれの繰り返しの動きが分かりやすくなると思います。
![image.png image.png](https://s3.ap-northeast-1.amazonaws.com/spaceblock.jp-storage/blogs/2021-06-15/euRNUWpzsZ4fmSfOUEzK2.png)
皆さんもぜひSPACEBLOCK(スペースブロック)でプログラミングを楽しんでください!😊