ページ 11

初心者です。助けて下さい

Posted: 2009年10月22日(木) 08:53
by
プログラミング、C言語を始め半年程度です。

龍神録を参考にプログラムを組んでいるのですが一面→二面の様にステージの切り換え方法が分かりません。
誰か御指導宜しくお願いします。

Re:初心者です。助けて下さい

Posted: 2009年10月23日(金) 02:03
by DVDM
>>鏃さん
どれくらいの事が出来るか解りませんが、C言語で簡単に書いてみました。
(とりあえず、グロバール変数を使ってswitch~caseで分けています)

[color=339933>// STAGE1が一面、STAGE2が二面、STAGE3が三面を表します[/color]
enum	STAGE
{
	STAGE1, STAGE2, STAGE3, CLEAR, 
};

[color=339933>// グロバール変数(今何面にいるかがここに入る)[/color]
int g_StageState = STAGE1;


[color=339933>// switch~caseで各ステージ毎に処理を分岐させています。[/color]
switch(StageState)
{
	case STAGE1:	ステージ1の処理();	break;
	case STAGE2:	ステージ2の処理();	break;
	case STAGE3:	ステージ3の処理();	break;
	case CLEAR:	ゲームクリアの処理();	break;
}


[color=339933>// STAGE1の処理を書きます。[/color]
void ステージ1の処理()
{
	なんか色々処理();

	ステージ1をクリアしたら	g_StageState = STAGE2;
}


[color=339933>// STAGE2の処理を書きます。[/color]
void ステージ2の処理()
{
	なんか色々処理();

	ステージ2をクリアしたら	g_StageState = STAGE3;
}


[color=339933>// STAGE3の処理を書きます。[/color]
void ステージ3の処理()
{
	なんか色々処理();

	ステージ3をクリアしたらゲームクリア;
}


[color=339933>// ゲームクリアの処理を書きます[/color]
void ゲームクリアの処理()
{
	なんか色々処理();
	g_StageState を初期化する。
	
}


他には関数ポインタを使って処理を切り替えることも可能ですし、クラスにまとめてしまうのも有りです。
御参考になれば幸いです。

Re:初心者です。助けて下さい

Posted: 2009年10月23日(金) 07:20
by
>>DVDMさん

回答ありがとうございました!
早速試してみたいと思います。 ありがとうございました!