ゲーム - コマンドプロンプト上でキャラクターをジャンプさせてみよう。

前回のプログラムのMoveBase()関数内のこのプログラムを挿入しよう。

・地面を判定するcheckfield()関数をコード内に宣言して、
貼り付けよう。

ただ、真上にジャンプするだけなので、移動しながらジャンプしても真上にしかいかない。




//【MoveBase()内に】
	//ジャンプ処理をする(単なる真上のジャンプ)
	if(g_nKey == 's' || g_nKey == 'S') //ジャンプ
	{
		if(g_nYPos < 20 && g_nYPos > 1 && g_nXPos < 70 && g_nXPos > 0){
			EraseBase();
			g_nYPos -= 7;
			DrawBase();
		}
			
			checkfield();
		
}

//【checkfield()関数】
//地面にいないことを判定しなければならない
void checkfield(void){
		
	if(g_nYPos < 19){ //地面のラインより上if(g_nYPos <= 18でもいい)
	
	while(1){

	if(g_nYPos == 19)//地面に戻ればループ終了
		break;
	EraseBase();
	g_nYPos++;//強制的に地面に戻す
	DrawBase();
	for(int up = 0; up < 20000000; up++){}//ループ
		}
	}

}