Paso 3: Menú codificación
Muchas ideas que intentó y falló. En última instancia esto es lo que se me ocurrió. a continuación es sólo un fragmento del código que muestra cómo funciona el menú.
void Menu() //menu pantalla
{
LCD.Clear();
LCD.Print ("-escoger-número");
lcd.setCursor(3,1);
LCD.Print ("de los" jugadores");
Delay(1500);
}
void loop()
{//menu sistema de selección de juego de 1 o 2 jugadores
Si (juego == 0) //no juego seleccionado
{
LCD.Clear();
para (int y = 0; y < 4; y ++)
{
lcd.setCursor(0,0);
LCD.Print ("1 jugador: rojo");
lcd.setCursor(0,1);
LCD.Print ("jugador 2: amarillo");
ButtonState = digitalRead(button[y]);
Si (buttonstate == baja & & botón [y] == 2)
{
button1(); llamadas para el LED del botón rojo a la luz y tono para jugar
juego = 1; juego de 1 jugador
}
Si (buttonstate == baja & & botón [y] == 3)
{
BUTTON2(); llamadas para el LED del botón amarillo a la luz y tono para jugar
juego = 2; juego de 2 jugadores
}
}
}
Si (juego == 1 & & turnlimit > 1) siempre que 1 vuelta se tomó en el 1 jugador juego de //as
{
play1(); llamadas al Juego de 1 jugador
}
Si (juego == 1 & & turnlimit < 1) //no vueltas se han tomado en el 1 reproductor juego
{
play1menu(); llamadas al menú para seleccionar el número de vueltas para 1 jugador juego
}
Si (juego == 2)
{
Play2(); llamadas a juego de 2 jugadores
}
}void play1menu() //menu para la selección de dificultad jugador 1
{
LCD.Clear();
LCD.Print ("rojo = 10 amarillo = 20");
lcd.setCursor(0,1);
LCD.Print ("verde = azul 30 = 40");
Delay(100);
para (int y = 0; y < 4; y ++)
{
ButtonState = digitalRead(button[y]);
Si (buttonstate == baja & & botón [y] == 2)
{
button1(); llamadas para el LED del botón rojo a la luz y tono para jugar
turnlimit = 10; establece el número de vueltas
}
Si (buttonstate == baja & & botón [y] == 3)
{
BUTTON2();
turnlimit = 20;
}
Si (buttonstate == baja & & botón [y] == 4)
{
button3();
turnlimit = 30;
}
Si (buttonstate == baja & & botón [y] == 5)
{
Button4();
turnlimit = 40;
}
}
}
Void Menu() es el comienzo del sistema de menús. Mostrar el nombre del juego sucede en el void setup(). Cuando la instalación se llama directamente a void Menu() luego comienza el void loop(). En el void loop() utilicé varias variables para mantener el estado del código. Como la que se se juega. Así que todo lo demás puede evitarse y el juego puede continuar. Si se selecciona el juego de un jugador salta hasta play1menu() vacío donde tu le da la opción de dificultad. La dificultad se establece por el número de vueltas que quiere jugar y como turnlimit.