Handel-Cによる もぐらたたきゲームの製作

Handel-Cによる
もぐらたたきゲームの製作
発表項目

Handel-Cについて

ゲームの仕様・ルールの説明

ゲームのデモ

プログラムの構造・流れについて

まとめ
Handle-Cについて
ANCI-Cの言語にハード(FPGA)設計の
仕様を追加したもの
並列処理・拡張ビット操作・RAMの使用
などが可能
※FPGA(Field Programmable Gate Array)
…ハードウェアの回路をプログラミングによって設計す
ゲームの仕様






クリックでゲーム開始
ランダムに現れるモグラを
マウスで動かすハンマーで叩く
叩いた回数がスコアとしてカウントされる
一定時間後に終了
クリックするとゲームをリスタートできる
ハイスコアは保存される
プログラムの構造
par
{
並列処理の記号
・・・
Display(&Game);
HitJudge(&Mole,&Hammer);
MolePosition(&Mole,&Game);
DisplayScore(&Game,&Mole);




・・・
}
画面の表示
当たり判定
モグラの出現
スコア表示
考察・改善点


モグラが正しく表示されない事がある
並列処理の同期に問題が?
メモリの節約
2次元配列などをRAMに置き換える

ゲームの仕様の改良
モグラを複数同時に出現させる、得点の
ランキングを表示など・・・
以下は質問対応用のスライド
画像の表示
1:茶色
2:黒
4:黄色
6:白
RAMの配列
モグラの目
RAMの値を参照して表示する
 実際のモグラは32×32の絵を8枚用意

アニメーション
4×4ビットの絵が2枚の場合
0b1 01 01
絵の
選択
Y座標
X座標
同じ座標でも上位1ビットで
絵を選択し,動きを見せている
1, 1, 1, 1,
1, 0, 0, 1,
1, 0, 0, 1,
1, 1, 1, 1,
1, 0, 0, 1
0, 1, 1, 0,
0, 1, 1, 0,
1, 0, 0, 1
ランダムなモグラの出現方法
マウスの座標をもとにして単純な計算を行っている
画面上の座標は非常に細かいので
様々な値が得られる
欠点:ゲーム中マウスを止めると
モグラは単純な動きしか見せない
FPGAについて

ソフトウェアで回路シュミレーションを
行うよりも高速
1つからでもIC化可能

パソコンで設計後、短時間での

回路実現が可能
専用LSIよりも動作が遅く、高価

Handle-Cの拡張ビット操作
unsigned 6 a = 0b011010 の時




ビットデータ抽出
a<-2
0b10(下位2ビット)
ビットデータ破棄
a¥¥3
0b011(上位3ビット)
ビットデータ選択
a[4:2]
0b110
ビットデータ結合
a<-2@a[5:4]
0b1001
など