ソフトウェア設計及び演習用の班Wiki

イベント(ポイント)モジュール

  • このモジュールは →マップ・マスモジュールから座標値(x,y)をもらい
    →ルーレットモジュールから数字(1〜8)をもらい
    ⇆プレイヤーモジュールにてポイントの保管を行う

ゲームの流れ

ルーレットを回す(ボタンを押す)
ー数字が決定(イベント決定)ーイベント発生・実行(プレイヤーのポイントをもとに行い、結果を得る)ーイベント終了(マスの移動の動作に進み、計算後プレイヤーのポイントとして返す)【←ここまでを考える】 ーマスを移動するーマスに止まるーポイントの増減

イベントの発生

  • ルーレットの目を反映して、イベントを決定し、移動する
    →条件によって、規定のイベントの関数に移動する関数

1:ポイントのリセット

  • 1が出たら、そのプレイヤーの所持ポイントを0ポイントにする
    →対象プレイヤーのポイントを初期化する関数

2:マイナス○ポイント

  • 2が出たら、そのプレイヤーの所持ポイントに○ポイント減らす
    →対象プレイヤーの所持ポイントを規定ポイント減算し代入して、所持ポイントを書き換える関数

3:プラス○ポイント

  • 3が出たら、そのプレイヤーの所持ポイントに○ポイント付与する
    →対象プレイヤーの所持ポイントを規定ポイント加算し代入して、所持ポイントを書き換える関数

4:他のプレイヤーとのポイント交換

  • 4がでたら、自分の所持ポイントとその時点で最もポイントを所持しているプレイヤーの所持ポイントを入れ替える(自分が最高ポイントの場合、何も行われない)
    →対象プレイヤーの所持ポイントとその他のプレイヤーの所持ポイントの比較を行う関数
    →対象プレイヤーの所持ポイントが最高ではない場合、所持ポイントが最も多いプレイヤーのポイントと入れ替える関数
    →(対象プレイヤーの所持ポイントが最高の場合、イベントを終了する)

5:no event

  • 何も行われない
    →何も行われず、プレイヤーの移動の動作に進む

6:プラス○ポイント

  • 3と同様

7:マイナス○ポイント

  • 2と同様

8:ボーナスポイント獲得

  • 3と同様

マス(座標)に対応する得点演算

→マスに対応した座標を読み込んで、ポイントに換算し、所持ポイントとの加算を行う関数 (例)(3、1)の座標を受けとったら、3+1=4ポイント獲得する

これを各プレイヤーごとに行い、値を保持していく(プレイヤーモジュールで実現)

ヘッダファイル(ep.h)

関数
  • int random_roll(void)...(テスト用の仮想ルーレット):使用中
  • void my_init(int argc, char *argv[])...gtkの初期化:使用中
  • GtkWidget *disp_ep(int)...ウィンドウ表示:使用中
  • GtkWidget *button_ep(int)...ボタン表示:使用中
  • int Ep_roll()...ルーレットモジュールを組み込んだルーレット(使用予定)
  • GdkPixbuf *pixbuf_ep(int)...画像ファイルローダー(使用予定)

改良点

  • イベント発生ごとにポイントに対する画像表示を行い、イベントをより簡単に伝えられるようにしたい


最終更新日:2014/01/09 16:12:14