Tabla de contenido:

Juego de cartas Sheepshead con Esp8266: 4 pasos
Juego de cartas Sheepshead con Esp8266: 4 pasos

Video: Juego de cartas Sheepshead con Esp8266: 4 pasos

Video: Juego de cartas Sheepshead con Esp8266: 4 pasos
Video: How To Play Sheepshead 2024, Mes de julio
Anonim
Juego de cartas Sheepshead con Esp8266
Juego de cartas Sheepshead con Esp8266

Sheepshead es un juego de cartas que mis tíos y tíos jugaban durante las reuniones familiares. Es un juego de cartas de truco que se originó en Europa. Hay varias versiones, por lo que mi versión puede ser un poco diferente a la que juegas. En la versión que implementé puedes jugar con 3, 4 o 5 jugadores, siendo 5 el número ideal de jugadores. El juego usa 32 cartas de una baraja estándar de 52 cartas.

Las reglas básicas se pueden encontrar aquí:

Un breve resumen de las reglas para un juego de 5 jugadores; a cada jugador se le reparten 6 cartas y se reparten dos cartas a los ciegos. El jugador que está a la izquierda del crupier tiene la primera oportunidad de elegir la ciega, luego el siguiente jugador, etc., hasta que alguien elija la ciega o hasta que todos los jugadores tengan un cambio para elegir. Si nadie elige, el juego comienza de nuevo y se reparten nuevas cartas. La persona que escoge a la ciega se llama recolector. El seleccionador elige un compañero llamando a un palo, ya sea Corazones, Tréboles o Picas, pero debe tener una carta del mismo palo en su mano. El jugador que tiene el As del palo llamado es el compañero. Los jugadores deben seguir el juego de la primera carta jugada, triunfo es un palo. El compañero debe jugar el As cuando el palo llamado sale por primera vez. El selector y el compañero deben obtener 61 puntos para ganar el juego. Los jugadores que no son el seleccionador o el compañero forman un equipo y sus puntos se unen para vencerlos. Vea el enlace de reglas arriba para puntuar.

Para juegos de 3 y 4 jugadores no hay pareja y se reparten 10 u 8 cartas respectivamente.

No implementé un juego de leaster. Cuando ningún jugador elige, el juego puede continuar con el jugador menos. El ganador de Leaster es el jugador que realiza al menos un truco y obtiene la menor cantidad de puntos.

Desarrollo de juegos:

Mi inspiración para este proyecto vino de querer crear una aplicación Sheepshead y también aprender jquery. También utilicé dragula.js para ayudar a arrastrar y soltar las tarjetas. El esp8266 se pone en modo AP. Para conectarse, necesita un dispositivo WiFi que pueda conectarse a la red "Sheepshead" y vaya al sitio web

Estos son mis primeros instructivos, por lo que agradecería cualquier comentario. Intentaré responder a sus preguntas cuando pueda.

Paso 1: construcción del hardware

Construyendo el hardware
Construyendo el hardware
Construyendo el hardware
Construyendo el hardware
Construyendo el hardware
Construyendo el hardware

Requisitos de hardware

Esto se puede hacer con un Wemos D1 Mini o con un esp8266 - esp-07 o esp-12.

Esp8266 compilación:

  • esp8266 (esp-07 o esp-12)
  • placa de montaje blanca para conectores esp8266 +
  • Conector hembra de 6 pines (opcional)
  • Regulador de voltaje LM317
  • (2) Resistencia de 10K Ohm
  • Resistencia de 390 ohmios
  • Resistencia de 220 ohmios
  • Resistencia de 20 ohmios
  • (2) pulsadores momentáneos
  • Condensador cerámico 100n
  • Condensador electrolítico de 10uF
  • Condensador electrolítico 220uF
  • Diodo 1N4002 (opcional)
  • conector de barril (utilicé un montaje lateral y soldé a un conector macho de 3 pines)
  • Caja de proyecto
  • Fuente de alimentación

Incluí los archivos ExpressSCH y ExpressPCB que usé para construir el circuito. Como puede ver en la imagen, no agregué los botones ni usé el conector J2 (que se puede usar con el módulo FTDI232RL para programar el esp8266). Si desea utilizarlo como programador esp8266, necesitará los botones y el conector J2. Para actualizar el software o los datos, deberá restablecer el dispositivo (SW1), manténgalo presionado mientras presiona el botón (SW2), luego suelte el botón (SW1) y luego cargue el código.

Antes de colocar cualquier componente, verifique el circuito probando cada conexión. Verifique que el regulador de voltaje tenga una salida de 3.3 voltios y vuelva a verificar todas las conexiones. Si no está seguro, le recomiendo usar un Wemos D1 mini ya que no se requiere soldadura.

Paso 2: carga del software

Cargando el software
Cargando el software

Software

Incluí el software para este proyecto. Daré una breve explicación de cada clase y para qué se usa, pero no voy a entrar en detalles. Este juego es una prueba de concepto de que se puede hacer un juego de cartas en un esp8266. El juego tiene algunos problemas que aún no resolví. Por ejemplo, cuando un usuario inicia sesión y pierde la conexión, no se libera del juego y no puede volver a conectarse al juego. La única forma de evitar esto es reiniciar el juego y comenzar de nuevo. El juego es un poco lento y, a veces, no actualiza las cartas. El usuario puede actualizar el navegador que debe mostrar las tarjetas correctamente. Si el usuario guarda el enlace en su pantalla de inicio (para iPhone), el botón de actualización no está disponible, por lo que es imposible actualizar. A veces es difícil arrastrar y soltar tarjetas desde o hacia personas ciegas en dispositivos pequeños.

Card.hy Card.ino Card class

Esta clase tiene el palo de la carta, el rango, el punto y las cartas que triunfan.

Deck.hy Deck.ino Clase de cubierta

Esta clase contenía la información de la baraja de cartas. Tiene un método para barajar la baraja y sacar cartas de la baraja. Utiliza una semilla aleatoria para barajar el mazo.

Hand.hy Hand.ino

Esta clase implementa la interfaz IGame y contiene información sobre la mano de cada jugador. Quiénes son el recolector, los socios y el distribuidor. Tiene en cuenta quién es el turno, cuál es el palo llamado, cuál es el palo principal, qué número de mano, número de jugadores, quién es el ganador, etc.

Player.hy Player.ino Player class

Esta clase contiene información del jugador, como el nombre del jugador, los puntos del equipo, si el jugador eligió o pasó y muestra un mensaje al jugador.

IGame.hy IGame.ino Clase de interfaz IGame

Esta clase contiene las clases Deck, Card y Player para controlar el flujo del juego.

Sheepshead.ino

Mantiene la función de configuración y bucle para servir el sitio web.

archivos login.html y login.js

Estos archivos controlan el flujo de la página del sitio web de inicio de sesión del usuario.

archivos sheepshead.html y sheepshead.js

Estos archivos controlan el flujo del juego sheepshead del sitio web.

Imágenes de tarjetas

contiene la imagen de cada tarjeta, incluida la parte posterior de la tarjeta.

Aquí hay una breve explicación sobre cómo cargar el software en el esp8266. Hay varios ejemplos en la web que pueden explicarlo con más detalle. Así es como cargué el software y los datos usando el software Arduino IDE.

  • Instale el software Arduino y los archivos de placas esp8266, consulte https://github.com/esp8266/Arduino para obtener más información.
  • Si usa un Wemos D1 mini, configure el tamaño de Flash en 4M (1M SPIFFS). Si usa un esp8266 esp-07 o esp-12 genérico, configure el tamaño de Flash en 1M (512 SPIFFS).
  • Es posible que deba instalar algunas bibliotecas adicionales en el software Arduino.
  • Para instalar los datos SPIFF siga este enlace
  • descomprima el software Sheepshead y colóquelo en su computadora.
  • Inicie el software Arduino IDE y abra el proyecto Sheepshead
  • Instale el código Sheepshead en el dispositivo esp8266 haciendo clic en el botón de carga. Si no está utilizando el Wemos D1 Mini, es posible que deba poner el dispositivo en modo flash haciendo clic en el botón de reinicio (SW1) y manténgalo presionado mientras presiona el botón (SW2), luego suelte el botón (SW1) y luego cargue el código.
  • Instale los datos en el dispositivo esp8266 yendo a herramientas en el menú y haciendo clic en "Carga de datos de Sketch ESP8266". Deberá seguir los mismos pasos anteriores para poner el dispositivo en modo flash.
  • Una vez que se cargan el software y los datos, está listo para jugar.

Paso 3: jugar el juego

Jugando el juego
Jugando el juego
Jugando el juego
Jugando el juego
Jugando el juego
Jugando el juego

Para conectarse, necesita un dispositivo WiFi que pueda conectarse a la red "Sheepshead" y luego vaya al sitio web

  • Los jugadores se unen ingresando su nombre y haciendo clic en Unirse. El juego asume que tendrás 5 jugadores, si no, un jugador debe seleccionar el número de jugadores antes de que el último jugador se una al juego.
  • Una vez que el último jugador se une, las cartas se reparten y el juego comienza cuando el jugador hace clic en el botón Iniciar.
  • El juego no permitirá que un jugador juegue una carta no válida o juegue fuera de turno.
  • Cuando se hace clic en una tarjeta, aumentará de tamaño para ser más visible. Si se hace clic por segunda vez, se jugará la carta.
  • El nombre de los jugadores está resaltado con letras blancas.
  • El jugador que jugará a continuación tendrá un cuadro rojo alrededor de su nombre y tarjeta.
  • El juego comienza permitiendo que un jugador elija la ciega o pase. Cuando un jugador elige la ciega, puede arrastrar y soltar las cartas de la ciega hacia / desde su mano. Una vez que el seleccionador tiene las cartas que quiere, debe elegir un palo llamado del menú desplegable.
  • El juego validará que tienen una carta apropiada para el palo llamado.
  • El juego comienza cuando el primer jugador juega la primera carta, cada jugador juega una carta y se muestra el ganador de la mano. Los puntos se calculan y muestran para cada jugador / equipo.
  • El ganador de la mano juega la primera carta y cada jugador juega una carta.
  • El juego continúa hasta que se juegan todas las cartas.
  • Se determina un ganador.
  • La siguiente persona se convierte en el crupier y comienza un nuevo juego.

Paso 4: Conclusión

Este es mi primer Instructable y agradezco sus comentarios. Como dije, esta es una prueba de concepto de que un juego de cartas se puede hacer en un dispositivo esp8266. Tiene algunos problemas, pero se puede reproducir. Espero sus comentarios y sugerencias.

Recomendado: