C 24's profile

Juego de parejas

Juego de parejas con Keypad - Frutas
Este código asigna una fruta diferente a cada tecla del teclado 4x4 y utiliza la misma lógica de emparejamiento para verificar si el jugador ha encontrado un par.
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
char firstKey = '\0';
bool waitingForSecondKey = false;
// Arreglo de frutas para emparejar
char fruits[] = {'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T'};
char firstFruit = '\0';
char secondFruit = '\0';
void setup() {
  Serial.begin(9600);
}
void loop() {
  char key = keypad.getKey();
  
  if (key != '\0') {
    if (!waitingForSecondKey) {
      firstKey = key;
      firstFruit = getFruitForKey(firstKey);
      Serial.println("Primera fruta: " + getFruitName(firstFruit)); // Muestra la primera fruta
      waitingForSecondKey = true;
    } else {
      char secondKey = key;
      secondFruit = getFruitForKey(secondKey);
      Serial.println("Segunda fruta: " + getFruitName(secondFruit)); // Muestra la segunda fruta
      if (firstFruit == secondFruit) {
        Serial.println("¡Encontraste un par!");
      } else {
        Serial.println("¡Intentalo de nuevo!");
      }
      delay(1000); // Breve pausa para que el jugador vea el resultado antes de continuar
      firstKey = '\0';
      waitingForSecondKey = false;
    }
  }
}
// Función para obtener la fruta asociada a una tecla
char getFruitForKey(char key) {
  switch (key) {
    case '1':
      return 'M';
    case '2':
      return 'N';
    case '3':
      return 'O';
    case '4':
      return 'P';
    case '5':
      return 'Q';
    case '6':
      return 'R';
    case '7':
      return 'S';
    case '8':
      return 'T';
    case '9':
    case '0':
    case '*':
    case '#':
    case 'A':
    case 'B':
    case 'C':
    case 'D':
      return '\0'; // Las teclas restantes no tienen asociada ninguna fruta
    default:
      return '\0';
  }
}
// Función para obtener el nombre de la fruta
String getFruitName(char fruit) {
  switch (fruit) {
    case 'M':
      return "Manzana";
    case 'N':
      return "Naranja";
    case 'O':
      return "Uva";
    case 'P':
      return "Pera";
    case 'Q':
      return "Banano";
    case 'R':
      return "Fresa";
    case 'S':
      return "Sandia";
    case 'T':
      return "Kiwi";
    default:
      return "Coco";
  }
}
Juego de parejas
Published:

Juego de parejas

Published:

Creative Fields