どのようにすればいいですか
Posted: 2008年10月14日(火) 20:29
私は今、STGを制作しています。 龍神録をだいぶ参考にさせていただいています。
しかし、龍神録にまだ書かれていない内容について、いまかなり困っています。
それは、ボムの回数制限とゲームオーバーorクリアのプログラムです。
いろんなサイトを参考にしているんですが、いまいちプログラムの入れ方がわかりません。
宣言によって、入れる場所が変わるのでなかなかです。
// ------------------------------------------------
// デファインの宣言
// ------------------------------------------------
#define MODE_GAME 0 // ゲーム中
#define MODE_OVER 1 // ゲームオーバー
#define MODE_TITLE 2 // タイトル
(中略)
// ------------------------------------------------
// 関数(サブルーチン)の宣言
// ------------------------------------------------
void title_main();
(中略)
// ------------------------------------------------
// メインプログラム
// ------------------------------------------------
// この関数名はウィンドウズから呼ばれているので変えないでください
void game_loop(void)
{
switch(game_mode)
{
case MODE_GAME:
ship_move();
tama_get();
tama_move();
teki_get();
teki_move();
tama_hit();
ship_hit();
break;
case MODE_OVER:
over_main();
break;
case MODE_TITLE:
title_main();
break;
}
normal_pr();
flip_screen();
}
// ゲームモードによって分岐
// ゲーム中ならば
// ゲームオーバーならば
// ゲームオーバー処理
// タイトルならば
// タイトル処理
// ------------------------------------------------
// 基本の表示
// ------------------------------------------------
void normal_pr()
{
(中略)
// メッセージを書く
if (game_mode==MODE_TITLE)
{
pr_msg("STGサンプル、タイトル画面",200,200);
pr_msg("Hit Enter Key",240,200);
}
}
// ------------------------------------------------
// タイトル
// ------------------------------------------------
void title_main()
{
if (HIBYTE(GetKeyState(VK_RETURN)))
{
game_mode=MODE_GAME;
}
}
// エンターキーが押されたらば
// ゲームモードをゲーム中にする
どのようにすればいいですか?
お願いします。
しかし、龍神録にまだ書かれていない内容について、いまかなり困っています。
それは、ボムの回数制限とゲームオーバーorクリアのプログラムです。
いろんなサイトを参考にしているんですが、いまいちプログラムの入れ方がわかりません。
宣言によって、入れる場所が変わるのでなかなかです。
// ------------------------------------------------
// デファインの宣言
// ------------------------------------------------
#define MODE_GAME 0 // ゲーム中
#define MODE_OVER 1 // ゲームオーバー
#define MODE_TITLE 2 // タイトル
(中略)
// ------------------------------------------------
// 関数(サブルーチン)の宣言
// ------------------------------------------------
void title_main();
(中略)
// ------------------------------------------------
// メインプログラム
// ------------------------------------------------
// この関数名はウィンドウズから呼ばれているので変えないでください
void game_loop(void)
{
switch(game_mode)
{
case MODE_GAME:
ship_move();
tama_get();
tama_move();
teki_get();
teki_move();
tama_hit();
ship_hit();
break;
case MODE_OVER:
over_main();
break;
case MODE_TITLE:
title_main();
break;
}
normal_pr();
flip_screen();
}
// ゲームモードによって分岐
// ゲーム中ならば
// ゲームオーバーならば
// ゲームオーバー処理
// タイトルならば
// タイトル処理
// ------------------------------------------------
// 基本の表示
// ------------------------------------------------
void normal_pr()
{
(中略)
// メッセージを書く
if (game_mode==MODE_TITLE)
{
pr_msg("STGサンプル、タイトル画面",200,200);
pr_msg("Hit Enter Key",240,200);
}
}
// ------------------------------------------------
// タイトル
// ------------------------------------------------
void title_main()
{
if (HIBYTE(GetKeyState(VK_RETURN)))
{
game_mode=MODE_GAME;
}
}
// エンターキーが押されたらば
// ゲームモードをゲーム中にする
どのようにすればいいですか?
お願いします。