Inhaltsverzeichnis:

Schafkopf-Kartenspiel mit Esp8266 - Gunook
Schafkopf-Kartenspiel mit Esp8266 - Gunook

Video: Schafkopf-Kartenspiel mit Esp8266 - Gunook

Video: Schafkopf-Kartenspiel mit Esp8266 - Gunook
Video: Schafkopf lernen - Grundlagen 2024, November
Anonim
Schafkopf-Kartenspiel mit Esp8266
Schafkopf-Kartenspiel mit Esp8266

Sheepshead ist ein Kartenspiel, das meine Tanten und Onkel bei Familientreffen gespielt haben. Es ist ein aus Europa stammendes Trickkartenspiel. Es gibt mehrere Versionen, daher kann meine Version etwas anders sein als die, die Sie spielen. In der von mir implementierten Version kann man mit 3, 4 oder 5 Spielern spielen, wobei 5 die ideale Spieleranzahl ist. Das Spiel verwendet 32 Karten aus einem standardmäßigen 52-Karten-Deck.

Die Grundregeln findest du hier:

Eine kurze Zusammenfassung der Regeln für ein 5-Spieler-Spiel; Jeder Spieler erhält 6 Karten und zwei Karten werden dem Blind ausgeteilt. Der Spieler links vom Dealer hat die erste Chance, den Blind zu wählen, dann der nächste Spieler usw., bis jemand den Blind wählt oder bis alle Spieler eine Änderung hatten. Wenn niemand wählt, beginnt das Spiel von vorne und neue Karten werden ausgeteilt. Die Person, die den Blind auswählt, wird Picker genannt. Der Picker wählt einen Partner, indem er eine Farbe anruft, entweder Herz, Kreuz oder Pik, aber er muss eine Karte derselben Farbe auf der Hand haben. Der Spieler, der das Ass der angerufenen Farbe hat, ist der Partner. Die Spieler müssen der Farbe der ersten gespielten Karte folgen, Trumpf ist eine Farbe. Der Partner muss das Ass spielen, wenn die angerufene Farbe zum ersten Mal ausgespielt wird. Der Picker und der Partner müssen 61 Punkte erhalten, um das Spiel zu gewinnen. Die Spieler, die nicht Picker oder Partner sind, bilden ein Team und ihre Punkte werden zusammengefügt, um sie zu schlagen. Siehe den Link zu den Regeln oben für die Bewertung.

Bei Spielen mit 3 und 4 Spielern gibt es keinen Partner und es werden jeweils 10 oder 8 Karten ausgeteilt.

Ich habe kein Spiel von minder implementiert. Wenn kein Spieler wählt, kann das Spiel vom Spieler am wenigsten fortgesetzt werden. Der kleinste Gewinner ist der Spieler, der mindestens einen Stich macht und die wenigsten Punkte erzielt.

Spieleentwicklung:

Meine Inspiration für dieses Projekt kam von dem Wunsch, eine Sheepshead-Anwendung zu erstellen und auch jquery zu lernen. Ich habe auch dragula.js verwendet, um beim Ziehen und Ablegen der Karten zu helfen. Der esp8266 wird in den AP-Modus versetzt. Um eine Verbindung herzustellen, benötigen Sie ein WLAN-Gerät, das sich mit dem "Sheepshead"-Netzwerk verbinden kann, und rufen Sie die Website https://191.168.1.1 auf.

Dies ist meine erste instructables, also würde ich mich über jedes Feedback freuen. Ich werde versuchen, Ihre Fragen zu beantworten, wenn ich kann.

Schritt 1: Aufbau der Hardware

Aufbau der Hardware
Aufbau der Hardware
Aufbau der Hardware
Aufbau der Hardware
Aufbau der Hardware
Aufbau der Hardware

Hardware-Anforderungen

Dies kann mit einem Wemos D1 Mini oder mit einem esp8266 - esp-07 oder esp-12 erfolgen.

Esp8266-Build:

  • esp8266 (esp-07 oder esp-12)
  • weißes montagebrett für esp8266 + stecker
  • 6-polige Buchse (optional)
  • Spannungsregler LM317
  • (2) 10K Ohm Widerstand
  • 390 Ohm Widerstand
  • 220 Ohm Widerstand
  • 20 Ohm Widerstand
  • (2) momentane Druckknöpfe
  • 100n Keramikkondensator
  • 10uF Elektrolytkondensator
  • 220uF Elektrolytkondensator
  • 1N4002 Diode (optional)
  • Hohlstecker (ich habe eine seitliche Halterung verwendet und an einen 3-poligen Stecker gelötet)
  • Projektbox
  • Energieversorgung

Ich habe die ExpressSCH- und ExpressPCB-Dateien eingefügt, die ich zum Aufbau der Schaltung verwendet habe. Wie Sie auf dem Bild sehen können, habe ich weder die Tasten hinzugefügt noch den J2-Anschluss verwendet (der mit dem FTDI232RL-Modul zum Programmieren des esp8266 verwendet werden kann). Wenn Sie dies als esp8266-Programmierer verwenden möchten, benötigen Sie die Tasten und den J2-Anschluss. Um Software oder Daten zu flashen, müssen Sie das Gerät zurücksetzen (SW1) halten Sie es gedrückt, während Sie die Taste (SW2) drücken, dann die Taste (SW1) loslassen und dann den Code hochladen.

Bevor Sie irgendwelche Komponenten platzieren, überprüfen Sie die Schaltung, indem Sie jede Verbindung testen. Stellen Sie sicher, dass der Spannungsregler 3,3 Volt ausgibt, und überprüfen Sie alle Verbindungen. Wenn Sie sich nicht sicher sind, empfehle ich die Verwendung eines Wemos D1 mini, da kein Löten erforderlich ist.

Schritt 2: Laden der Software

Laden der Software
Laden der Software

Software

Ich habe die Software für dieses Projekt enthalten. Ich werde jede Klasse kurz erklären und wofür sie verwendet wird, aber ich werde nicht ins Detail gehen. Dieses Spiel ist ein Beweis für das Konzept, dass ein Kartenspiel auf einem esp8266 gemacht werden kann. Das Spiel hat ein paar Probleme, die ich noch nicht gelöst habe. Wenn sich beispielsweise ein Benutzer anmeldet und die Verbindung verliert, wird er nicht aus dem Spiel entlassen und kann sich nicht wieder mit dem Spiel verbinden. Der einzige Weg, dies zu umgehen, besteht darin, das Spiel zurückzusetzen und von vorne zu beginnen. Das Spiel ist etwas langsam und aktualisiert die Karten manchmal nicht. Der Benutzer kann den Browser aktualisieren, der die Karten korrekt anzeigen sollte. Wenn der Benutzer den Link auf seinem Startbildschirm (für iPhones) speichert, ist die Schaltfläche zum Aktualisieren nicht verfügbar, sodass eine Aktualisierung unmöglich ist. Manchmal ist es schwierig, Karten auf kleinen Geräten per Drag-and-Drop zum/vom Blind zu ziehen.

Card.h und Card.ino Kartenklasse

Diese Klasse enthält Kartenfarbe, Rang, Punkt und welche Karten Trumpf sind.

Deck.h und Deck.ino Deckklasse

Diese Klasse enthielt die Kartendeckinformationen. Es hat eine Methode, das Deck zu mischen und Karten aus dem Deck zu bekommen. Es verwendet einen zufälligen Seed, um das Deck zu mischen

Hand.h und Hand.ino

Diese Klasse implementiert die IGame-Schnittstelle und enthält Informationen über die Hand jedes Spielers. Wer Picker, Partner und Händler sind. Es gilt, wer an der Reihe ist, was die angerufene Farbe ist, was die Hauptfarbe ist, welche Handnummer, die Anzahl der Spieler, wer der Gewinner ist usw.

Player.h und Player.ino Spielerklasse

Diese Klasse enthält Spielerinformationen, wie Spielername, Teampunkte, wenn der Spieler ausgewählt oder gepasst hat, und zeigt dem Spieler eine Nachricht an.

IGame.h und IGame.ino IGame-Schnittstellenklasse

Diese Klasse enthält die Deck-, Karten- und Spielerklassen, um den Spielfluss zu steuern.

Schafkopf.ino

Enthält die Setup- und Loop-Funktion zum Bereitstellen der Website.

login.html- und login.js-Dateien

Diese Dateien steuern den Ablauf für die Website-Seite zur Benutzeranmeldung

Sheepshead.html- und Sheepshead.js-Dateien

Diese Dateien steuern den Ablauf des Sheepshead-Spiels auf der Website.

Kartenbilder

hält das Bild jeder Karte einschließlich der Rückseite der Karte.

Hier ist eine kurze Erklärung zum Laden der Software auf den esp8266. Es gibt mehrere Beispiele im Web, die es genauer erklären können. So habe ich die Software und Daten mit der Arduino IDE-Software geladen.

  • Installieren Sie die Arduino-Software und die esp8266-Board-Dateien, siehe https://github.com/esp8266/Arduino für weitere Informationen.
  • Wenn Sie eine Wemos D1 mini verwenden, stellen Sie die Blitzgröße auf 4M (1M SPIFFS). Wenn Sie einen generischen esp8266 esp-07 oder esp-12 verwenden, stellen Sie die Flash-Größe auf 1M (512 SPIFFS) ein.
  • Möglicherweise müssen Sie einige zusätzliche Bibliotheken in der Arduino-Software installieren.
  • Um die SPIFF-Daten zu installieren, folgen Sie diesem Link
  • Entpacken Sie die Sheepshead-Software und legen Sie sie auf Ihren Computer.
  • Starten Sie die Arduino IDE-Software und öffnen Sie das Sheepshead-Projekt
  • Installieren Sie den Sheepshead-Code auf dem esp8266-Gerät, indem Sie auf die Schaltfläche zum Hochladen klicken. Wenn Sie das Wemos D1 Mini nicht verwenden, müssen Sie das Gerät möglicherweise in den Flash-Modus versetzen, indem Sie auf die Reset-Taste (SW1) klicken, diese gedrückt halten, während Sie die Taste (SW2) drücken, dann die Taste (SW1) loslassen und dann den Code hochladen.
  • Installieren Sie die Daten auf dem esp8266-Gerät, indem Sie zu den Tools im Menü gehen und auf "ESP8266 Sketch Data Upload" klicken. Sie müssen die gleichen Schritte wie oben ausführen, um das Gerät in den Blitzmodus zu versetzen.
  • Sobald die Software und die Daten geladen sind, können Sie das Spiel spielen.

Schritt 3: Das Spiel spielen

Das Spiel spielen
Das Spiel spielen
Das Spiel spielen
Das Spiel spielen
Das Spiel spielen
Das Spiel spielen

Um eine Verbindung herzustellen, benötigen Sie ein WLAN-Gerät, das sich mit dem "Sheepshead"-Netzwerk verbinden kann. Gehen Sie dann zur Website

  • Spieler treten bei, indem sie ihren Namen eingeben und auf Beitreten klicken. Das Spiel geht davon aus, dass Sie 5 Spieler haben, wenn nicht, muss ein Spieler die Anzahl der Spieler auswählen, bevor der letzte Spieler dem Spiel beitritt.
  • Sobald der letzte Spieler hinzukommt, werden die Karten ausgeteilt und das Spiel beginnt, wenn der Spieler auf die Schaltfläche Start klickt.
  • Das Spiel lässt nicht zu, dass ein Spieler eine ungültige Karte spielt oder außer der Reihe spielt.
  • Wenn eine Karte angeklickt wird, wird sie größer, um besser sichtbar zu sein. Bei einem zweiten Klick wird die Karte gespielt.
  • Der Name des Spielers wird mit weißen Buchstaben hervorgehoben.
  • Der Spieler, der als nächstes spielen soll, hat ein rotes Kästchen um seinen Namen und seine Karte.
  • Das Spiel beginnt damit, einem Spieler zu erlauben, den Blind zu wählen oder zu passen. Wenn ein Spieler den Blind wählt, kann er die Karten aus dem Blind zu/von seiner Hand ziehen und ablegen. Sobald der Picker die gewünschten Karten hat, muss er eine angesagte Farbe aus dem Dropdown-Menü auswählen.
  • Das Spiel überprüft, ob sie eine geeignete Karte für die angerufene Farbe haben.
  • Das Spiel beginnt, wenn der erste Spieler die erste Karte spielt, jeder Spieler spielt eine Karte und der Gewinner der Hand wird angezeigt. Die Punkte werden für jeden Spieler/jede Mannschaft berechnet und angezeigt.
  • Der Gewinner der Hand spielt die erste Karte und jeder Spieler spielt eine Karte.
  • Das Spiel wird fortgesetzt, bis alle Karten gespielt sind
  • Ein Gewinner wird ermittelt.
  • Die nächste Person wird zum Dealer und ein neues Spiel beginnt.

Schritt 4: Fazit

Dies ist mein erstes Instructable und ich freue mich über Ihr Feedback. Wie gesagt, dies ist ein Beweis für das Konzept, dass ein Kartenspiel auf einem esp8266-Gerät gemacht werden kann. Es hat ein paar Probleme, ist aber spielbar. Ich freue mich auf Ihre Kommentare und Anregungen.

Empfohlen: