![見出し画像](https://assets.st-note.com/production/uploads/images/115022402/rectangle_large_type_2_0cbc3bf13d4d579f9d65d1410367336d.png?width=1200)
PICO-8でブロック崩しを作ろう(色んな種類のブロック
ゼルダのティアキンってのやっていて(まだやってる)すっかり朝活とかやってなかったのですが、さすがにアレすぎるので再開しました。
ボールがあたれば壊れるだけのブロックだけではつまらないので、色んな種類のブロックが出せるようにします。
とりあえず機能はおいておいて、色の違うのブロックが配置できるようになるところまで実装します。
ブロックの種類
ブロックの種類は以下のものを想定します。
B:normal brick(通常ブロック
X:empty space(空
/:new line(改行
I:indestructable brick(壊れないブロック
H:hardened brick(硬いブロック
S:sploding brick(爆発するブロック
P:powerup brick(アイテムを出すブロック
_init()
![](https://assets.st-note.com/img/1688463395286-LbOzg8iQsI.jpg)
levelsテーブルに各種ブロックを配置します(赤枠)
buildbricks()
![](https://assets.st-note.com/img/1688464902253-GKpQ0zFIUO.png)
levelsテーブルの値を読み取ってブロックを配置する各テーブルに値を入れ込む処理をおこなうbuildbricks()にて、新たにブロックの種類を格納するbrick_tテーブルを定義します。
位置(j)とブロックの種類(last)を引数として、addbrick()にて各テーブルに値を入れる処理をおこないます。
addbrick()
![](https://assets.st-note.com/img/1688465873608-jqNn6iHvLI.png)
brick_x,brick_y,brick_v,brick_tの各テーブルに値を入れ込みます。
--brick
![](https://assets.st-note.com/img/1692947813829-6bQRi5hmFR.png)
update_game()内のブロック描画の箇所でbrick_t[i]の値によってブロックの色(brickcol)を変えて描画します。
実行
![](https://assets.st-note.com/production/uploads/images/114324404/picture_pc_c70208632f83597976d236650a7a0a91.gif)