Javaの学習を始めたばかりです。現在、プラットフォーム ゲームの基本的なコードを書いていますが、y
プラットフォーム ゲーム内のキャラクターの最終的な位置を計算する式に問題があります。
私がコーディングしようとしている式は
y = y0 + vy * t - ( 1/2 * g * t^2)
ここで、
y = 最終y
位置。
y0 = 初期y
位置;
vy =y
軸に沿った速度;
g = 重力;
t = 時間;
以下は、この式のために私が書いたコードです。(xPosition のコードは無視してください)
public class Position {
static double xPosition;
static double yPosition;
final static double gravity = 10.0; //gravity on Earth rounded up to the tens place.
public static double xPosition ( double initialPosition , double xVelocity , double time ) {
return initialPosition + xVelocity * time;
}
public static double yPosition ( double initialPosition , double yVelocity , double time ) {
return initialPosition + ( yVelocity * time ) - ( 0.5 * gravity * time * time );
}
それがコードです。そして、以下に示すように、ランダムな値を差し込んで、この式が正しく機能するかどうかを確認しました。
public static void main ( String args[] ) {
xPosition = xPosition ( 5 , 4 , 9 );
System.out.println ( xPosition );
yPosition = xPosition ( 0 , 10 , 5 );
System.out.println ( yPosition );
}
このコードをコンパイルして実行すると、50.0
. 問題は、これを手で解いたときに-75
. 私のコードに何か問題があるのでしょうか、それとも自分の働きすぎによる脳の誤動作でしょうか? 事前にご回答いただきありがとうございます。