累乗
更にボールを設定し、プレイヤーが接触するとその勢いに応じて速度を得るように設定した。
今回追加した要素は条件分岐のみだし、この辺まで来るとソースはやたら長いのでソース省略。
あと、今回からNetBeansでコーディングを始めている。めんどくさいが。
エラー集:超初級編
さて、プレイヤーとボールとの距離を算出するのに
としたかったのだが、
距離=((選手 X 座標−玉 X 座標)の2乗 +
(選手 Y 座標−玉 Y 座標)の2乗 )の平方(根)
float frndX = 10; float ballX = 100; float frndY = 10; float ballY = 100; ・ ・ ・ float bpdis = Math.sqrt((frndX - ballX)^2+(frndY - ballY)^2)
としても
とコンパイルエラーになる。・・・えぇー?なんでぇ?
演算子 ^ は float,float に適用できません。
float bpdis = Math.sqrt((frndX - ballX)^2+(frndY - ballY)^2)
^
同時に精度がdoubleからfloatに落ちる可能性を指摘されるが、
float bpdis = (float)Math.sqrt((frndX - ballX)^2 +(frndY - ballY)^2)
こうすれば精度の問題はクリアされる。
ちなみに、
float bpdis = frndX^2
などとすると、
などとなる。益々以って不可解である。
演算子 ^ は float,int に適用できません。
float k = frndX^2;
^
試しに
System.out.println(0^2);
としたら、結果は3だった・・・。
なんじゃこりゃー!?