Presentation is loading. Please wait.

Presentation is loading. Please wait.

Handel-Cによる       エアホッケー.

Similar presentations


Presentation on theme: "Handel-Cによる       エアホッケー."— Presentation transcript:

1 Handel-Cによる       エアホッケー

2 発表項目 プログラムの説明 仕様、制約 工夫した点 デモンストレーション 結果、考察 評価、感想

3 プログラムの説明 Handel-C言語を用いてプログラムを 記述 通信を最大限にいかし、2画面でのエ アホッケーを実現
スマッシャーの縦方向の動きの追加 で、より操作性のあるゲームを実現

4 ゲームの仕様 先に左クリックした方からゲーム開始 パックにスマッシャーをあて、相手に返球 する
点数が入ると、入れられた側が左クリック することでゲーム再開 3点先取したほうが勝ち

5 工夫した点 送受信のタイミングが困難 →ボールを保持していない側を常に受信 状態にすることで解決 送信する座標の設定
 →ボールを保持していない側を常に受信    状態にすることで解決 送信する座標の設定  →ぎりぎりの座標で送信すると、    エラーが起こる  ※          が    ぎりぎりの座標

6 工夫した点 スマッシャーとパックの衝突判定 →スマッシャーとパックの位置、方向、速度 を考慮して衝突後のパックの動きを決定 と が
 →スマッシャーとパックの位置、方向、速度 を考慮して衝突後のパックの動きを決定 当たり判定の領域 パック スマッシャー

7 結果、考察 マウスの動きが速いので、スマッシャーが パックの動きに対応し易過ぎる
 →ゲーム性を向上するにはマウスの動き が遅くなるように制御する必要がある。 スマッシャーとパックの衝突の際、画面上 では一見円形の物体同士の衝突に見える が、実際は正方形の物体同士の衝突とし て判定されている。リアルな挙動のために は判定条件をより細分化する必要がある。

8 評価、感想 グラフィックや点数表示や文字表示などの インターフェースを実装できたので、エアホ ッケーの体裁は整えられた。ただ、特にス マッシャーとパックの挙動に関しては改善 の余地は多い。 今回の課題である通信機能の実装には最 後まで苦労させられた。送受信の流れを把 握するのが特に難しかった。また、並列処 理という考え方はC言語には無い新しいも のだったので、扱いに苦労した。

9 以降は質問用スライド

10 衝突判定の一例 パック vx vy+VY vy VY 衝突 vx-VX VX スマッシャー

11 画像表示 二次元配列に画像データが格納されており、表 示したい位置の座標の相対座標で画像内の座 標を指定する。色は配列の値によって指定して いる。また、ハードウェアリソースの節約のため、 画像はビット演算による拡大を行って利用してい る。 rom unsigned 1 pack[4*4] = { 0,1,1,0, 1,1,1,1, };

12 改善方法 マウスの挙動を遅くするには  →座標の更新の際に、保持しておいた移   動前の座標と移動後の座標からマウス   のX方向、Y方向の移動量を求め、それら  をシフト演算で何分の一かにする。移動  前の座標にその値を加えた先の座標を   真の移動後の座標とする。

13 送受信について データを受信するときに、最初に受信した 値が1であれば、点数が入ったと認識する
 →最初にX座標の値を送信するが、両側に  壁を作っているため、パックのX座標が1  となることがない            壁

14 開始時の条件 双方ともデータ受信状態で、受信するとフ ラグが立つ
先にクリックすると送信し、受信した側はフ ラグの値を書き換えて、データを送信 先にクリックしたほうがデータを受信すると、 ゲーム開始となっている


Download ppt "Handel-Cによる       エアホッケー."

Similar presentations


Ads by Google