示例#1
0
  public void render(Graphics2D g) {

    if (gameStatus == 0) {
      g.setColor(new Color(20, 169, 20));
      g.fillRect(0, 0, width, height);
      g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

      g.setColor(new Color(102, 0, 0));
      g.setFont(new Font("Arial", 1, 72));
      g.drawString("Mario Breakout", 145, 120);

      g.setFont(new Font("Arial", 1, 52));
      g.drawString("Press SPACE to Play/Pause", 60, 320);
      g.setFont(new Font("Arial", 1, 32));
      g.drawString("(use arrows to play)", 240, 360);
    }

    if (gameStatus == 2 || gameStatus == 1) {

      g.setColor(new Color(96, 96, 96));
      g.fillRect(0, 0, width, height);
      g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

      g.setColor(Color.WHITE);
      g.setFont(new Font("Arial", 1, 22));
      g.drawString("Score: " + mario.getScore(), 10, 23);
      g.drawString("Lives: " + ball.getLives(), 710, 23);

      paddle.render(g);

      ball.render(g);

      mario.createMario(g, ball);
    }
    if (mario.getScore() == 21300 || ball.getLives() == 0) {
      gameStatus = 3;
    }

    if (gameStatus == 3) {
      if (mario.getScore() == 21300) {

        g.setColor(new Color(20, 169, 20));
        g.fillRect(0, 0, width, height);
        g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

        g.setColor(new Color(102, 0, 0));
        g.setFont(new Font("Arial", 1, 100));
        g.drawString("WINNER!!!", 160, 200);
        g.setFont(new Font("Arial", 1, 42));
        g.drawString("Press SPACE to play again", 135, 320);
      }
      if (ball.getLives() == 0) {
        g.setColor(new Color(20, 169, 20));
        g.fillRect(0, 0, width, height);
        g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

        g.setColor(new Color(102, 0, 0));
        g.setFont(new Font("Arial", 1, 72));
        g.drawString("YOU LOST", 210, 180);
        g.drawString("Your score: " + mario.getScore(), 160, 260);
        g.setFont(new Font("Arial", 1, 42));
        g.drawString("Press SPACE to play again", 135, 320);
      }
    }

    if (gameStatus == 1) {
      g.setColor(Color.WHITE);
      g.setFont(new Font("Arial", 1, 72));
      g.drawString("PAUSE", 280, 600);
    }
  }