@Override
    public void step(Graphics2D graphics) {
        if (wait) {
            wait = false;
            return;
        }
        if (name == null) {
            name = JOptionPane.showInputDialog(screen, "What is your name?",
                "Name", JOptionPane.QUESTION_MESSAGE);
            if (name == null) {
                finish();
                return;
            }
            scoreObj = scores.add(name, score, level, wave, date);
            while (scores.extraScores())
                getDisplaced();
            scores.save();
            message = String.format("You got a new HIGH SCORE of %s!", scoreObj.getFormattedScore());
        }

        int x = screen.getXOffset(graphics, bigFont, message);
        graphics.setColor(Color.YELLOW);
        graphics.setFont(bigFont);
        if (message2 != null) {
            int x2 = screen.getXOffset(graphics, smallFont, message2);
            graphics.drawString(message, x, screen.getHeight() / 2 - 100);
            graphics.setColor(Color.WHITE);
            graphics.setFont(smallFont);
            graphics.drawString(message2, x2, screen.getHeight() / 2);
        }
        else {
            graphics.drawString(message, x, screen.getHeight() / 2);
        }
        if (timer > 0)
            timer--;
    }