Handel-Cを用いたインベーダーゲームの設計

Handel-Cを用いたインベーダー
ゲームの設計
目的
 高位システム記述言語Handel-CとFPGA
開発ボード(RC10)を用いたハードウェアの
設計方法を学ぶ
Handel-Cとは・・・
C言語ベースでハードウェアを設計することができ
るプログラミング言語であり、C言語に並列処理、
ビット幅などの概念が追加されている
仕様
マウスを動かすことで自機を横移動
左クリックで弾を発射
自機のライフは3
始めは右クリックでスタート
 敵の弾に当たればライフが1減り、一時停止して
右クリックで再開
 敵が自機のある位置まで降りてきたらゲームオー
バー。左クリックで再開
 敵をすべて倒したら「Clear」と表示して終了。左ク
リックで再開




工夫した点
 インベーダーゲームっぽさを出すために少
し動いて止まってを繰り返し、表示する絵を
2枚用意して交互に読み出すことで少しず
つ動きながら降りてくるみたいに見えるよう
に設計した
 難易度を少し上げるために敵を20匹倒した
ら敵の動くスピードをあげるようにした
苦労した点
 敵の表示
ディスプレイ上に
32×32ビットで書いた
敵の絵を表示させる
のに苦労した
弾のあたり判定
自機の弾が敵に当
たったときに弾の当
たった敵の表示を
消さなくてはならな
いので、移動してい
る敵集団の中の、
どの敵に弾が当
たったのかを判定
するのに苦労した
結果、評価
 インベーダーゲームとして最低限のものは設
計することができた
 防御柵を作ったり、本物のインベーダーに出
てくるUFOを登場させたりなど、作ろうしたが
実現できなかった機能もあった
 プログラムの画像を表示するところなどで同
じ記述を何十行も繰り返してしまった部分が
あるのだが、もう少し効率の良いアルゴリズ
ムを考えられれば良かった