Java クラス用に作成するはずの Ping Pong プログラムで問題が発生しています。私たちは書類を渡していましたが、編集が必要です。それと自動のピンポンゲームなので、入力は必要ありません。すべてコンピューターによる偶然です。パドルを上げ下げするだけです。私はそれを動かし、すべてを手に入れました。
ここでの問題は、Y の範囲が 20 ~ 465 であることです。465 から 20 までカウントダウンし、20 から 465 までカウントアップする代わりに、再び 465 までジャンプして 20 からカウントダウンするため、パッドはかなり速く下から上に消えました。誰かが私のためにチェックアウトしたい場合に備えて、プロジェクトを添付します。
なぜジャンプしてカウントアップしないのかを理解するのを手伝ってくれる人を探しているだけではありません. 問題がそれだけで把握できる場合のコードは次のとおりです。私は edgeCheck および Update メソッドを使用しています。
import java.awt.Point;
import javax.swing.ImageIcon;
public class CharlesPaddle extends Paddle {
/************************************************** ***************/
public CharlesPaddle(int _x) {
super(_x);
ImageIcon iiPaddle = new ImageIcon(this.getClass().getResource("paddle.png"));
paddleImage = iiPaddle.getImage();
} //end CharlesPaddle
/************************************************** ***************/
public void update() {
if (edgeCheck() == false)
do {
paddleLocation.y -= 1;
System.out.println(paddleLocation.y);
}
while (paddleLocation.y >= 21);
else if (edgeCheck() == true)
do {
paddleLocation.y += 1;
}
while (paddleLocation.y <= 465);
} //end update
/************************************************** ***************/
public void init() {
paddleLocation = new Point();
paddleVector = new Point();
paddleVector.x = 0;
paddleVector.y = speed;
paddleLocation.x = xLocation;
paddleLocation.y = 200;
} //End init
/************************************************** ***************/
public boolean edgeCheck()
{
boolean check = false;
if (paddleLocation.y >= 465)
check = false;
else if (paddleLocation.y <= 20)
check = true;
return check;
} // End edgeCheck
}