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 など
© Copyright 2024 ExpyDoc