Breakout game (Когда я выхожу, я хочу, чтобы мяч снова попал в оставшиеся кубики) - PullRequest
1 голос
/ 01 октября 2011

Я новичок в программировании на Java.Я учусь разрабатывать игру, похожую на ту, которая называется Breakout.Вот как это работает

у вас есть набор кирпичей для удара с помощью мяча и ракетки

Я попал в ситуацию здесь,

Я скучаю по мячу, он отвезет меня в другой цикл, где я посылаю сообщение «Игра окончена».Вместо этого я хочу, чтобы мяч снова вернулся, а другой оставил кирпичи для удара.

Вот фрагмент кода Java:

public void paint(Graphics g) {
       super.paint(g);

       if (ingame) {
           g.drawImage(ball.getImage(), ball.getX(), ball.getY(),
                       ball.getWidth(), ball.getHeight(), this);
           g.drawImage(paddle.getImage(), paddle.getX(), paddle.getY(),
                       paddle.getWidth(), paddle.getHeight(), this);

           for (int i = 0; i < 30; i++) {
               if (!bricks[i].isDestroyed())
                   g.drawImage(bricks[i].getImage(), bricks[i].getX(),
                               bricks[i].getY(), bricks[i].getWidth(),
                               bricks[i].getHeight(), this);
           }
       } else {

           Font font = new Font("Verdana", Font.BOLD, 18);
           FontMetrics metr = this.getFontMetrics(font);

           g.setColor(Color.BLACK);
           g.setFont(font);
           g.drawString(message,
                        (Commons.WIDTH - metr.stringWidth(message)) / 2,
                        Commons.WIDTH / 2);
       }


       Toolkit.getDefaultToolkit().sync();
       g.dispose();
   }

Заранее спасибо:)

1 Ответ

1 голос
/ 01 октября 2011

1) Использовать paintComponent ()

2) Не уничтожать графику, переданную в качестве аргумента

3) Код должен быть равен начальному коду;переместите мяч в игровое поле и начните снова.

...