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

15::gr06::張 精

ゲームスタート画面

start.c 800*600

  • 入力画像
    • start.png
  • スタートボタン
    • ゲームスタート。 ゲーム画面に移動する。
  • ロードボタン
    • ロード画面に移動する。
  • endボタン
    • ゲームウィンドウを閉める。

ロード画面

load.c load.h 800*600

  • ロード数列ボタン
    • 1-4     ロードデータを入力してゲームスタート。
  • タイトルに戻る
    • スタート画面に移動する。

ゲーム画面

game.c game.h 800*600

  • トップレベルウィンドウを生成
    • ウィンドウを作る。  my_window_new()
  • ロードデータを検索
    • ロードデータがある場合
    • ロードデータがない場合
  • 背景画像を読み込む
    • 背景を作る。     
  • bgm載せる
    • bgm.c
  • 時間システムを起動する time.c
    • 300--  0になったら残機-1、ゲーム再スタート。
    • ストープボタンしたら 時間停止
  • アイテム載せる
    • blockなど
      • case分別
  • 残機システム
    • ロードデータによって数を変える、ないと3になる。
    • 残機0になるとゲームオーバー画面に移動する。
  • player載せる
    • 移動と位置によってcase分け
  • enemy載せる
    • 移動と位置によってcase分け
    • 画面を出るとデータを消す。
  • コールバックの設定
    • key.c keyevent.h
  • saveシステム
    • 新しいウィンドウを作る。
    • saveボタン1-4
    • endボタン
  • ゲームクリア
    • 指定位置到達するとステージ+1
    • ステージ???に達成したらゲームクリア。  クリア画面に移動する。

ゲームオーバー画面

gameover.c

  • ゲームオーバー画像
  • ゲームロードボタン
    • ゲームロード画面に移動する
  • ゲームスタートボタン
    • ゲームスタート画面に移動する
  • ゲームend
    • ゲームウィンドウを閉める

ゲームクリア画面

gameclear.c

  • ゲームクリア画面

ヘタファイル

  • stage_size.h
    • ゲーム画面の大きさ
  • new_lib.h
    • myAnimeArea   スプライトが動く領域
    • mySprite     スプライト
    • void player_lives_first_set(mySprite *player); lives初期化
    • player_first_set(mySprite *player); play_data初期化
    • myAnimeArea *my_anime_area_new(gint width, gint height, GdkPixmap *bg_pixmap, gint *timeout); アニメーション領域
    • mySprite *my_time_new(myAnimeArea *area);
    • mySprite *my_player_new(myAnimeArea *area, int a,int b, gint timeout,gint x,gint y); play載せる
    • mySprite *my_enemy_new(myAnimeArea *area, int a,int b, gint timeout,gint x,gint y,gint mode); もスター載せる
    • mySprite *my_zanki_new(myAnimeArea *area, int a,int b, gint timeout); 残機載せる
    • mySprite *my_aitemu_new(myAnimeArea *area, int a,int b, gint timeout,gint x,gint y,gint mode); アイテム載せる
    • void my_zanki_move(mySprite *sprite); 残機move
    • gint cb_player_timeout(gpointer data); playerを動かす時間間隔
    • gint cb_zanki_timeout(gpointer data); 残機画像を動かす時間間隔
    • gint cb_enemy_timeout(gpointer data); もスター画像を動かす時間間隔
    • gint cb_aitemu_timeout(gpointer data); アイテム画像を動かす時間間隔
  • load_stage.h
    • int g_stage_hit[ST_HEIGHT][ST_WIDTH]; アイテム読み込み
    • int g_stage_eve[ST_HEIGHT][ST_WIDTH]; もスター読み込み
    • int load_stage(int stage_num); txtの選択
  • haikei.h
    • void my_bg_new(GtkWidget *window, gint n, char *bg[]);
    • GdkPixmap *my_bg_get(gint i); 背景の画像の読み込む
    • gint cb_change_area_bg_pixmap(gpointer data); 背景の画像変更
  • gtk_lib_a.h
    • GtkWidget * my_label_new(char *label, My_Font_Desc *fontdescription); ラベルの作成
    • GtkWidget * my_button_new(char *label, My_Font_Desc *fontdescription); ラベル付きボタンの作成
    • void my_init(int argc, char *argv[]); 初期化
    • GtkWidget * my_window_new(void); ウィンドウの作成
    • GtkWidget * my_image_new(char *path); イメージの作成
    • My_Font_Desc *my_font_description(const gchar *fontname); Fontset
    • GdkPixmap *my_pixmap_new_from_data(GtkWidget *window, char *path); GdkPixmap格式に変更
    • gint my_close_handler(GtkWidget *widget, gpointer gdata);
    • void my_button_clicked_handler(GtkWidget *widget, gpointer data);
    • GtkWidget *my_drawing_area_new(int w, int h, GdkPixmap *pixmap, gboolean relative);
    • intmy_animation(GtkWidget *window, GtkWidget *drawin_area, gboolean (*handler)(gpointer), int timeout);
    • int my_timeout_add(int timeout, GSourceFunc handler, gpointer widget);


最終更新日:2015/08/10 12:29:31