「跳ねるボール」スクリーンセーバータイプのプログラムを作成しようとしています。そして、より多くのボール/楕円をプログラミングするのが難しく、ランダムな開始点を持つようにしています。それが可能であり、複雑になりすぎない場合は、この問題に対する私のアプローチをそのままにしておきたいと思います。私の最初の質問は、私はプログラミングが初めてです。この方法が完全に間違っている場合は、教えてください。回答ありがとうございます。
public class Game {
public static void main(String[] args) {
new Spillvindu();
}
}
public class Spillvindu extends JFrame {
private Anothergame game;
Spillvindu() {
add(game = new Anothergame());
game.lagSpillVindu();
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public Dimension getPreferredSize() {
return new Dimension(800, 600);
}
}
public class Anothergame extends JComponent implements ActionListener {
void lagSpillVindu() {
Timer t = new Timer(10, this);
t.start();
}
private int ballYSpeed = 5;
private int ballXSpeed = 5;
private int ballX;
private int ballY;
private static Random random = new Random(800);
public void paintComponent(Graphics g) {
g.setColor(Color.CYAN);
g.fillRect(0, 0, 800, 600);
g.setColor(Color.black);
g.fillOval(ballX, ballY, 40, 40);
}
public void actionPerformed(ActionEvent arg0) {
ballX = ballX + ballXSpeed;
ballY = ballY + ballYSpeed;
if (ballY >= 520) {
ballYSpeed = - 5;
}
if (ballX >= 730) {
ballXSpeed = - 5;
}
if (ballX <= 0) {
ballXSpeed = 5;
}
if (ballY <= 0) {
ballYSpeed = 5;
}
repaint();
}
}