以前作ったブロック崩しゲームにスコアを表示させようとしている訳だが、そのためにはフォントが必要だ。その大きさはどの位がいいのか検討した。ゲーム面の画素数は640×480なので、8x8のフォントにした場合は横方向は80文字になる。しかし、8x8のサイズだと見た目がちょっと物足りないかも知れないので倍の16x16にしようと思う。16x16にすると線を2ドットで表現できるので"0"や"8"等の文字の角を欠けさせることも出来る。フォントデータはBRAMに持たせることになるが、0〜9まで10種なので、データ数としては16x16x10 = 2560bitになる。iCE40LMのBRAMは4Kbitなので1個に入る。
そして、次に検討する必要があるのは何を表示するか?ということだ。ただ漠然とスコアと表現して来たが、言うてもブロック崩しゲームなので、"残っているブロックの数"とか、"各ブロックに点数の重みを付けて崩したブロックの重みの合計”とかがあり得る。ブロックの数は横20×立て8の計160個なので、ブロック数の場合は表示桁数は3桁。10進カウンタ3個でのカウントが楽そうだ。 重みの合計の場合は10進値だと計算が面倒なのでカウンタはバイナリにしてその値を表示するところでBIN2BCD変換するか。 また、単にそれらの値を表示しただけでは何か物足りない。プレイ時間に制限時間を設けて、”プレイの残り時間”とかを表示させた方が良いのかもしれない。
Roundを重ねる毎にボールのスピードを上げて難易度を上げていくというのも有りかな。
うーむ。どっちが良いかね〜