Índice:

Jogo de cartas Sheepshead com Esp8266: 4 etapas
Jogo de cartas Sheepshead com Esp8266: 4 etapas

Vídeo: Jogo de cartas Sheepshead com Esp8266: 4 etapas

Vídeo: Jogo de cartas Sheepshead com Esp8266: 4 etapas
Vídeo: How To Play Sheepshead 2024, Julho
Anonim
Jogo de cartas Sheepshead com Esp8266
Jogo de cartas Sheepshead com Esp8266

Sheepshead é um jogo de cartas que meus tios e tias jogavam durante as reuniões familiares. É um jogo de cartas de tirar truques originado na Europa. Existem várias versões, então minha versão pode ser um pouco diferente da que você joga. Na versão que implementei você pode jogar com 3, 4 ou 5 jogadores, sendo 5 o número ideal de jogadores. O jogo usa 32 cartas de um baralho de 52 cartas padrão.

As regras básicas podem ser encontradas aqui:

Um breve resumo das regras para um jogo de 5 jogadores; cada jogador recebe 6 cartas e duas cartas são dadas ao blind. O jogador à esquerda do dealer tem a primeira chance de escolher o blind, depois o próximo jogador, etc, até que alguém escolha o blind ou até que todos os jogadores tenham uma chance para escolher. Se ninguém escolher, o jogo recomeça e novas cartas são distribuídas. A pessoa que escolhe a cortina é chamada de selecionador. O selecionador escolhe um parceiro chamando um naipe, seja Copas, Paus ou Espadas, mas deve ter uma carta do mesmo naipe em sua mão. O jogador que tem o Ás do naipe chamado é o parceiro. Os jogadores devem seguir o naipe da primeira carta jogada, o trunfo é um naipe. O parceiro deve jogar o Ás quando o naipe chamado é lançado pela primeira vez. O selecionador e o parceiro devem obter 61 pontos para vencer o jogo. Os jogadores que não são o apanhador ou o parceiro formam uma equipe e seus pontos são somados para vencê-los. Veja o link de regras acima para pontuação.

Para jogos de 3 e 4 jogadores, não há parceiro e 10 ou 8 cartas são distribuídas respectivamente.

Não implementei um jogo de leaster. Quando nenhum jogador escolhe o jogo pode continuar por leaster do jogador. O vencedor do Leaster é o jogador que fizer pelo menos uma vaza e marcar o menor número de pontos.

Desenvolvimento de jogos:

Minha inspiração para este projeto veio de querer criar um aplicativo Sheepshead e também aprender jquery. Também usei dragula.js para ajudar a arrastar e soltar os cartões. O esp8266 é colocado no modo AP. Para se conectar, você precisa de um dispositivo WiFi que possa se conectar à rede "Sheepshead" e vá para o site

Este é o meu primeiro instructables, por isso gostaria de receber qualquer feedback. Tentarei responder às suas perguntas quando puder.

Etapa 1: Construindo o Hardware

Construindo o Hardware
Construindo o Hardware
Construindo o Hardware
Construindo o Hardware
Construindo o Hardware
Construindo o Hardware

Requisitos de Hardware

Isso pode ser feito com um Wemos D1 Mini ou com um esp8266 - esp-07 ou esp-12.

Construir Esp8266:

  • esp8266 (esp-07 ou esp-12)
  • placa de montagem branca para conectores esp8266 +
  • Conector fêmea de 6 pinos (opcional)
  • Regulador de tensão LM317
  • (2) resistor de 10K Ohm
  • Resistor 390 Ohm
  • Resistor de 220 Ohm
  • Resistor de 20 Ohm
  • (2) botões momentâneos
  • Capacitor cerâmico 100n
  • Capacitor eletrolítico de 10uF
  • Capacitor eletrolítico 220uF
  • Diodo 1N4002 (opcional)
  • conector cilíndrico (usei uma montagem lateral e soldou a um conector macho de 3 pinos)
  • Caixa de projeto
  • Fonte de energia

Incluí os arquivos ExpressSCH e ExpressPCB que usei para construir o circuito. Como você pode ver na foto, não adicionei os botões e nem usei o conector J2 (que pode ser usado com o módulo FTDI232RL para a programação do esp8266). Se quiser usá-lo como um programador esp8266, você precisará dos botões e do conector J2. Para fazer o flash do software ou dados, você precisará reiniciar o dispositivo (SW1), mantê-lo pressionado enquanto pressiona o botão (SW2), soltar o botão (SW1) e carregar o código.

Antes de colocar qualquer componente, verifique o circuito testando cada conexão. Verifique se o regulador de tensão está produzindo 3,3 volts e verifique todas as conexões. Se você não tiver certeza, eu recomendo usar um mini Wemos D1, pois não é necessária solda.

Etapa 2: Carregando o software

Carregando o software
Carregando o software

Programas

Incluí o software para este projeto. Vou dar uma breve explicação de cada aula e para que ela é usada, mas não vou entrar em detalhes. Este jogo é uma prova de conceito de que um jogo de cartas pode ser feito em um esp8266. O jogo tem alguns problemas que ainda não resolvi. Por exemplo, quando um usuário faz o login e perde a conexão, ele não é liberado do jogo e não pode se reconectar ao jogo. A única maneira de contornar isso é reiniciar o jogo e começar de novo. O jogo é um pouco lento e às vezes não atualiza as cartas. O usuário pode atualizar o navegador que deve exibir os cartões corretamente. Se o usuário salvar o link na tela inicial (para iPhone), o botão Atualizar não estará disponível, impossibilitando a atualização. Às vezes, é difícil arrastar e soltar cartas de / para cegos em dispositivos pequenos.

Card.h and Card.ino Card class

Esta classe possui o naipe, a classificação, o ponto e quais cartas são o trunfo.

Deck.he Deck.ino Classe de convés

Essa classe continha as informações do baralho de cartas. Tem método para embaralhar o baralho e tirar cartas do baralho. Ele usa uma semente aleatória para embaralhar o baralho

Hand.h and Hand.ino

Esta classe implementa a interface IGame e contém informações sobre a mão de cada jogador. Quem são o selecionador, os parceiros e o revendedor. Ele determina quem é a vez, qual é o naipe chamado, qual é o naipe inicial, qual é o número da mão, o número de jogadores, quem é o vencedor, etc.

Player.he Player.ino classe Player

Esta classe contém informações do jogador, como nome do jogador, pontos do time, se o jogador escolheu ou passou e exibe uma mensagem para o jogador.

IGame.he IGame.ino Classe de interface IGame

Esta classe contém as classes Deck, Card e Player para controlar o fluxo do jogo.

Sheepshead.ino

Contém a configuração e a função de loop para servir ao site.

arquivos login.html e login.js

Esses arquivos controlam o fluxo da página de login do usuário no site

arquivos sheepshead.html e sheepshead.js

Esses arquivos controlam o fluxo do jogo sheepshead do site.

Imagens de cartão

contém a imagem de cada cartão, incluindo o verso do cartão.

Aqui está uma breve explicação sobre o carregamento do software no esp8266. Existem vários exemplos na web que podem explicar isso com mais detalhes. Foi assim que carreguei o software e os dados usando o software Arduino IDE.

  • Instale o software Arduino e os arquivos das placas esp8266, consulte https://github.com/esp8266/Arduino para obter mais informações.
  • Se estiver usando um mini Wemos D1, defina o tamanho do Flash para 4M (1M SPIFFS). Se usar um esp8266 esp-07 ou esp-12 genérico, defina o tamanho do Flash para 1M (512 SPIFFS).
  • Você pode precisar instalar algumas bibliotecas adicionais no software Arduino.
  • Para instalar os dados SPIFF siga este link
  • descompacte o software Sheepshead e coloque-o em seu computador.
  • Inicie o software Arduino IDE e abra o projeto Sheepshead
  • Instale o código Sheepshead no dispositivo esp8266 clicando no botão de upload. Se você não estiver usando o Wemos D1 Mini, pode ser necessário colocar o dispositivo no modo flash clicando no botão reset (SW1), mantendo-o pressionado enquanto pressiona o botão (SW2), depois solte o botão (SW1) e carregue o código.
  • Instale os dados no dispositivo esp8266 acessando ferramentas no menu e clicando em "ESP8266 Sketch Data Upload". Você precisará seguir as mesmas etapas acima para colocar o dispositivo no modo flash.
  • Assim que o software e os dados forem carregados, você estará pronto para jogar.

Etapa 3: jogar o jogo

Jogando o jogo
Jogando o jogo
Jogando o jogo
Jogando o jogo
Jogando o jogo
Jogando o jogo

Para se conectar, você precisa de um dispositivo WiFi que possa se conectar à rede "Sheepshead" e, em seguida, vá para o site

  • Os jogadores entram inserindo seu nome e clicando em Entrar. O jogo pressupõe que você terá 5 jogadores, caso contrário, um jogador deve selecionar o número de jogadores antes que o último jogador entre no jogo.
  • Assim que o último jogador entrar, as cartas são distribuídas e o jogo começa quando o jogador clica no botão Iniciar.
  • O jogo não permitirá que um jogador jogue uma carta inválida ou jogue fora da vez.
  • Quando um cartão é clicado, ele aumenta de tamanho para ficar mais visível. Se clicado uma segunda vez, a carta será jogada.
  • O nome do jogador é destacado com letras brancas.
  • O próximo jogador terá uma caixa vermelha ao redor de seu nome e cartão.
  • O jogo começa permitindo que um jogador escolha o blind ou passe. Quando um jogador escolhe o blind, ele pode arrastar e soltar as cartas do blind para / de sua mão. Assim que o selecionador tiver as cartas que deseja, ele deve escolher um naipe chamado no menu suspenso.
  • O jogo irá validar se eles têm uma carta apropriada para o naipe chamado.
  • O jogo começa quando o primeiro jogador joga a primeira carta, cada jogador joga uma carta e o vencedor da mão é exibido. Os pontos são calculados e exibidos para cada jogador / equipe.
  • O vencedor da mão joga a primeira carta e cada jogador joga uma carta.
  • O jogo continua até que todas as cartas sejam jogadas
  • Um vencedor é determinado.
  • A próxima pessoa se torna o dealer e um novo jogo começa.

Etapa 4: Conclusão

Este é meu primeiro Instructable e agradeço seus comentários. Como eu disse, esta é uma prova de conceito de que um jogo de cartas pode ser feito em um dispositivo esp8266. Tem alguns problemas, mas é jogável. Aguardo seus comentários e sugestões.

Recomendado: