スカッシュゲーム -P/ECE研究室Sample


ここではP/ECEをつかっての実際にあそべるゲームを作成しようという講座です。
今回、作成しようとするものはスカッシュゲームです。この講座では回を追ってどんどんと機能をつけていく予定です。そして最後には実際に動く高完成度のゲームを目指しています。


STEP01スカッシュゲームとはなんでしょ?
この講座で題材とされているスカッシュゲームです。これはいったいなんなんでしょう?、まぁなんとなく予想できる人はいるんではないでしょうか、これはブロック崩しのような感じの、でも違うという微妙なゲームです。ゲーム構造自体は簡単であって、しかもしっかりと動くというものです。
とにかく、体験してみてください。
STEP02まずは、ソースを!
この講座で使用していくスカッシュゲームのソースをご紹介します。このソースは構造的に記述したつもりですがたぶん、わからない点がいくつかあるでしょう。それについては解説をみてください。

main.c scsh.h sub.c

これらのソースを手に入れたら早速コンパイルしてみてください。これでも動きますよ!。ソース解説については後述。
STEP03スカッシュゲームの機能はこれだ!
今回のスカッシュゲームをコンパイルはしてみていただけだでしょうか。まぁ、したしてないにしろ、このスカッシュゲームについての説明をきいてください。
このソースによって作成されるスカッシュゲームではまだゲームとしての得点機能、対戦機能などはまだついていません。今回はプレーヤーの動きとボールの動きをシミュレートすることができます。これは基本的機能であって、そのうえ、重要なものでもあります。
シミュレートとはボールの加速、プレーヤーの移動量などがあります。まぁ、これらは実行してみればわかりますのでどうぞ(たとえばプレーヤーを断続的に移動させれば加速してボールの反動も変化します)。
STEP04ソース解説
このゲームではボールの移動処理などを 値に-(マイナス)をつけることによっておこなっています(main.c)。その他に、移動する場合には変数にはいった移動量を加算することによって行っています。この場合の移動量などの情報はsBALL構造体であるball_dataによって管理されています。この構造体にある情報を操作することによって柔軟な動きを再現しています。
動きを表現するためにプレーヤーがどれくらいの威力でボールを弾いたかを判定要素にいれています。これによってプレーヤーとボールの微妙な動きが再現できるのです。その他、壁にあたったら減速をかけるなどしています。
BACK研究室