public void forcePaint(final Graphics2D g) {
        if (reverse) {
            if (current < 200) {
                final float percentage = (float) current / 200f;
                g.setColor(new Color(238, 228, 218, 186));
                g.fillRect(22, 136, 495, 495);
                g.setColor(new Color(119, 110, 101, 255));
                g.setFont(Game2048.FONT.deriveFont(60f));
                g.drawString("Game over!", 112, 350 + (int) (percentage * 54f));
                g.setFont(Game2048.FONT.deriveFont(18f));
                g.setColor(new Color(119, 110, 101, 255 - (int) (percentage * 255)));
                g.drawString("Submit your score to the leaderboard", 114, 402 + (int) (percentage * 54f));
                game.username.setBounds(119, 418 + (int) (percentage * 54f), 230, 40);
                game.username.setPercentage(1f - percentage);
                game.validate.setBounds(359, 418 + (int) (percentage * 54f), 62, 40);
                game.validate.setPercentage(1f - percentage);
            } else {
                g.setColor(new Color(238, 228, 218, 186));
                g.fillRect(22, 136, 495, 495);
                g.setColor(new Color(119, 110, 101, 255));
                g.setFont(Game2048.FONT.deriveFont(60f));
                g.drawString("Game over!", 112, 404);
                if (game.getComponents().length > 0) {
                    game.remove(game.username);
                    game.remove(game.validate);
                }
            }
        } else {
            if (current < 100) {
                final float percentage = (float) current / 100f;
                g.setColor(new Color(238, 228, 218, (int) (percentage * 186f)));
                g.fillRect(22, 136, 495, 495);
                g.setColor(new Color(119, 110, 101, (int) (percentage * 255f)));
                g.setFont(Game2048.FONT.deriveFont(60f));
                g.drawString("Game over!", 112, 404);
            } else {
                final float percentage = (float) (current - 100) / 200f;
                g.setColor(new Color(238, 228, 218, 186));
                g.fillRect(22, 136, 495, 495);
                g.setColor(new Color(119, 110, 101, 255));
                g.setFont(Game2048.FONT.deriveFont(60f));
                g.drawString("Game over!", 112, 404 - (int) (percentage * 54f));
                g.setColor(new Color(119, 110, 101, (int) (percentage * 255)));
                g.setFont(Game2048.FONT.deriveFont(18f));
                g.drawString("Submit your score to the leaderboard", 114, 456 - (int) (percentage * 54f));
                if (game.getComponents().length == 0) {
                    game.add(game.username);
                    game.add(game.validate);
                }
                game.username.setBounds(119, 472 - (int) (percentage * 54f), 230, 40);
                game.username.setPercentage(percentage);
                game.validate.setBounds(359, 472 - (int) (percentage * 54f), 62, 40);
                game.validate.setPercentage(percentage);
            }
        }
    }