Estou em dúvida quanto ao nome das classes para o Jogo da Velha que estou fazendo, em Swing, eu tenho um menu e para o caso de o jogador X ou O, ou Ninguém ganhar troca de tela.
Eu tenho uma classe abstrata assim:
public abstract class MenuState extends GameState {
public Font normalFont;
public Font bigFont;
public String title;
public MenuState(GameStateManager gsm) {
super(gsm);
}
@Override
public void init() {
bigFont = new Font("Arial", Font.PLAIN, 72);
normalFont = new Font("Arial", Font.PLAIN, 36);
}
@Override
public void update() {
}
@Override
public void render(Graphics2D g2) {
g2.setColor(Color.BLACK);
g2.fillRect(0, 0, GamePanel.WIDTH, GamePanel.HEIGHT);
g2.setColor(Color.WHITE);
g2.setFont(bigFont);
int titleWidth = g2.getFontMetrics().stringWidth(title);
g2.drawString(title, GamePanel.WIDTH / 2 - titleWidth / 2, GamePanel.HEIGHT / 2 - 8);
g2.setFont(normalFont);
String text = "Press Space to restart";
int width = g2.getFontMetrics().stringWidth(text);
g2.drawString(text, GamePanel.WIDTH / 2 - width / 2, GamePanel.HEIGHT - 74);
}
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void keyPressed(KeyEvent key) {
int k = key.getKeyCode();
if(k == KeyEvent.VK_SPACE) {
gsm.setState(States.PLAY_STATE);
}
}
}
E as classes que deriva de MenuState são: WinnerXMenu, WinnerOMenu e FinishedMenu
onde em cada eu só sobrescrevo a variável “title”. mas parece soar estranho esses nomes.