第9回 簡単なゲーム1(グローバル変数の利用)

本日の内容

前回作成したプログラムを発展させ,衝突判定をするゲームを作ろう(その1).

各課題に取り組む手順

  1. まず自力でプログラムを書いてみる. 間違っていても構わない.教科書やWeb上のリファレンスを見ても構わない.
  2. ひととおり入力を終えたら,ビルドする前にソースをレポートに貼り付けておく.
  3. ビルドする.ビルドエラーをレポートに貼り付けておく.
  4. エラーを取り除き,正しく動作するプログラムを作成する.
  5. 自力で考えた限界のソースコードをレポートに貼り付けておく.
  6. 友人と相談した場合,誰と相談したか,また,相談した結果気がついた間違いをレポートに記述する.
  7. 完成版のソースコード,および,非衝突時と衝突時の両方の実行結果の画像をレポートに貼り付ける.

演習9.1 ウィンドウ枠との衝突判定

 演習8.2で作成したプログラムに衝突判定を導入し,プレーヤがウィンドウ枠に衝突している間は,背景を黒から白に変更するようにする. 

課題9.1 敵との衝突判定

 演習9.1に以下を実現するソースコードを追加する。
 ・プレーヤー図形が敵図形と衝突している間は、背景を水色にする。
 ・プレーヤー図形がウィンドウ枠と接触している間は、背景を白くする。(演習9.1のまま)
 ・プレーヤー図形と敵図形との衝突判定は、以下の基本的な考え方を参考にする。
  ・衝突判定では、プレーヤー図形と敵図形間の距離dを算出する。
  ・算出した距離dが閾値D以下なら背景の色が変わるようにする。(今回は水色に)
  ・敵との接触状態を表すグローバル変数 int isCrushingEnemy = 0; を追加する。

基本的な考え方:


課題9.2 敵図形を顔に変更する(応用)

 課題9.1を改造し、敵の図形を自作の顔(課題6.2で作成)に変更する.ただし、演習9.1や課題9.1と同様に、
 プレーヤーがウィンドウ枠に接触したときとプレーヤーが敵と衝突したときは、背景色を変化させる。


レポート

提出先・期限
https://www.kagoshima-u.ac.jp/manaba/の「プログラミング言語I及び演習」のレポートより提出
演習当日の23:55まで
内容
Microsoft Wordを用いてレポートを作成すること.

下記について記述すること.

提出ファイル
Wordファイルにソースコードやキャプチャした実行画面などを貼り付けてmanabaのレポートから提出すること.
(*.cファイルを送る必要はありません。)
テンプレート等(Word)
Word表紙 (回数やタイトルなどを適宜修正して使うこと.)