ハイパーホッケー

名前:杉山 貴紹  学生証番号:g241047j


「全体の説明」
このプログラムはハイパーホッケーをコンピューターを相手にやるゲームです。操作方法は自分のラケット(下側、緑)をマウスでドラッグして赤いボール(円盤)をうって、相手ゴールを狙います。ルールは詳しくは僕もよく知りませんが、このプログラムではゴール(黒い部分)にボールが入ったら1ポイントとし、7ポイント先取で勝ちというルールを定めています。(デュース無し)

「原理及び苦労した点」
このプログラムで一番苦労したのが円形のラケットに円形のボールがヒットしたさいのボールの速度変化です。まず力学的にヒット後のボールの速度ベクトルを算出する式を自分で考えて、それをもとにプログラムに計算をさせました。「弾性衝突」で、なおかつ操作性の都合上「ラケットの動きははヒットによって影響を受けない」という条件のもとで導いています(この計算が合っている確かな保証はありませんがプログラムは一応ちゃんと動きます。だからよし?)。で、さらにラケットとボールが重なってしまうなどのめんどくさい問題も発生したので、この解決にも骨を折りました。あと演出的なところにも少しこだわってみました。

「反省点と今後の展望」
とにかく完成させることで精一杯で「シンプルさ」や「効率」の向上に時間がかけられませんでした。CPUのラケットの動きもあまり良くないものでした。また、ボールも一度に2つ以上だしたり、デュースを取り入れたりなどゲームをよりエキサイティングにする余地も残されていると思います。



ソースプログラム(詳細説明付き)