9年前ソースを見ないと何とも言えません。マリオはハードの関係でこのような実装になっているようなので、PCでマリオのようなジャンプを実装したいのなら、この方法にこだわる必要はないと思いますよ。参照先のコードを貼っておきます。y_temp;Fはジャンプしたとき10で空中では-1とするようです。このコードは今の位置と前回に位置の差(つまり、その速度)に力を加える(加速・減速)ことにより速度を求め、今の位置に加える(速度による移動を行う)ことによって次の位置を求めるものです。55,・・・となるはずです。これがそうなっていないということは、...単純に考えるとMario.y_prevの初期値が正しくないんではないかと。i=0;i<30;i++){Jump();printf("%d\n",y);}}としました。9年前y_pが前回の座標を保存しています。21行でのJump呼び出し時にy_pの値がいくつになっているかを考えましょう。ああなるほどわかりました本当に理解出来たのでしょうか?でしたら前のコードをどのように変えたのか書いてみてください。フォーラムルールにもまた、解決した時は、「解決しました」とだけ言って去らず、ソースコードや解決した方法を明記して下さい。ミクプラは自由にリンクできます。