Mini Juego

Los juegos clásicos tienen un encanto atemporal, y uno de los más icónicos es el Snake que solíamos disfrutar en los teléfonos Nokia.

En este artículo, te guiaré paso a paso para crear tu propio mini juego Snake utilizando Arduino. ¡Prepárate para revivir la nostalgia de los viejos tiempos!

Materiales Necesarios

Antes de comenzar, asegúrate de tener los siguientes materiales:

  1.     Placa Arduino (puede ser Arduino Uno, Nano, etc.).
  2.     Pantalla LED de matriz de puntos (por ejemplo, una matriz de 8x8 LED).
  3.     Cables de conexión.
  4.     Botones o interruptores para controlar la dirección del Snake (cuatro son ideales: arriba, abajo, izquierda y derecha).
  5.     Resistencias (para evitar rebotes en los interruptores).

Paso 1: Conexiones de Hardware

Conecta la matriz de puntos LED y los botones a tu placa Arduino según el esquema de conexiones que estés utilizando. Asegúrate de tener una resistencia conectada en serie con cada botón para evitar problemas de rebote.

Paso 2: Configuración del Entorno de Desarrollo

  1.     Descarga e instala el entorno de desarrollo Arduino IDE desde el sitio web oficial https://www.arduino.cc/en/software
  2.     Instala las bibliotecas necesarias para controlar la matriz de puntos LED. Puedes encontrar bibliotecas específicas para tu tipo de matriz.

Paso 3: Esbozo del Código


// Incluye las bibliotecas necesarias
#include <LedControl.h>

// Define los pines de conexión de la matriz de puntos LED
const int DIN_PIN = 2;  // Pin de datos
const int CLK_PIN = 3;  // Pin de reloj
const int CS_PIN = 4;   // Pin de selección

// Crea una instancia de la matriz de puntos LED
LedControl matriz = LedControl(DIN_PIN, CLK_PIN, CS_PIN, 0);

// Define las variables del juego
int snakeX, snakeY;  // Posición del Snake
int foodX, foodY;    // Posición de la comida
int direction;       // Dirección del movimiento del Snake

void setup() {
  // Inicializa la matriz de puntos LED
  matriz.shutdown(0, false);
  matriz.setIntensity(0, 8);
  matriz.clearDisplay(0);

  // Inicializa las variables del juego
  snakeX = 4;
  snakeY = 4;
  foodX = 0;
  foodY = 0;
  direction = 1;
}

void loop() {
  // Actualiza la posición del Snake y la comida
  updateSnake();
  updateFood();

  // Dibuja el Snake y la comida en la matriz
  drawSnake();
  drawFood();

  // Añade un pequeño retraso para la visibilidad del juego
  delay(200);
}

void updateSnake() {
  // Actualiza la posición del Snake según la dirección
  switch (direction) {
    case 0: snakeY--; break;  // Arriba
    case 1: snakeX++; break;  // Derecha
    case 2: snakeY++; break;  // Abajo
    case 3: snakeX--; break;  // Izquierda
  }

  // Maneja los límites del juego (borde de la matriz)
  if (snakeX < 0) snakeX = 7;
  if (snakeX > 7) snakeX = 0;
  if (snakeY < 0) snakeY = 7;
  if (snakeY > 7) snakeY = 0;
}

void updateFood() {
  // Verifica si el Snake ha alcanzado la comida
  if (snakeX == foodX && snakeY == foodY) {
    // Genera nuevas coordenadas para la comida
    foodX = random(8);
    foodY = random(8);
  }
}

void drawSnake() {
  // Dibuja el Snake en la matriz
  matriz.setLed(0, snakeX, snakeY, true);
}

void drawFood() {
  // Dibuja la comida en la matriz
  matriz.setLed(0, foodX, foodY, true);
}

 Este código básico establece las funciones esenciales para la lógica del juego. El Snake se mueve en la dirección establecida por el usuario, y la comida aparece en nuevas ubicaciones cada vez que el Snake la consume.

Paso 4: Ajustes y Mejoras

Puedes personalizar y mejorar el juego según tus preferencias. Algunas ideas incluyen agregar sonidos, aumentar la velocidad del Snake a medida que come más, o incluso implementar un sistema de puntajes.

¡Listo! Con estos pasos, has creado tu propio mini juego Snake en Arduino. Ahora, carga el código en tu placa y disfruta de la diversión retro en tu propio dispositivo DIY. ¡Que comience el juego!

Para comentar en este artículo, tienes que estar registrado/a.

Los comentarios se moderarán antes de ser publicados.

Comments powered by CComment