actualmente estoy aprendiendo Java y me gustaría saber cómo controlar el estado de una manera OO. Implementé una aplicación Pong. Si quería varios estados como el juego y el menú, y cada uno de estos estados tenía que ejecutar el inicio, detener y ejecutar cómo iba a lograr esto y cómo iba a cambiar entre estos estados.Cómo crear una máquina de estados simple en Java
sé yo podría simplemente tirar en una sentencia switch grande, pero ¿cuál es la mejor manera de implementar esto?
Quiero ser capaz de cambiar al estado en el menú versa estado de juego y el vicio.
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Pong extends Applet implements Runnable, KeyListener{
public void start()
{
setSize(screen);
setFocusable(true);
Thread th = new Thread (this);
th.start();
}
public void stop()
{
}
//Etc..
}
NOTA: al redefinir los métodos específicos en las enumeraciones, su clase no es lo mismo. (En este caso THREE.getClass() es Estado, y TWO.getClass() podría ser Estado $ 2) Este código – Asaf
ilumina su proceso difícil, especialmente en Java. Gracias. – Trying
@Sean: Al notar el comentario de Asaf, me gustaría saber si usted vería alguna desventaja al pasar los posibles estados de seguimiento en un constructor a los diferentes estados en lugar de a los métodos sobrescritos. (Como 'UN (EnumSet.of (DOS, TRES)), DOS (EnumSet.of (TRES))' ... –