ゲーム - コマンドプロンプト上でキャラクターをジャンプさせてみよう。
・前回のプログラムの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++){}//ループ } } }