Spisu treści:

Gra karciana Sheepshead z Esp8266: 4 kroki
Gra karciana Sheepshead z Esp8266: 4 kroki

Wideo: Gra karciana Sheepshead z Esp8266: 4 kroki

Wideo: Gra karciana Sheepshead z Esp8266: 4 kroki
Wideo: Nowa karcianka na Steam / Slime CCG gameplay PL 2024, Listopad
Anonim
Gra karciana Sheepshead z Esp8266
Gra karciana Sheepshead z Esp8266

Sheepshead to gra karciana, w którą grały moje ciotki i wujkowie podczas rodzinnych spotkań. Jest to gra karciana oparta na sztuczkach, która powstała w Europie. Istnieje kilka wersji, więc moja wersja może być nieco inna niż ta, w którą grasz. W zaimplementowanej przeze mnie wersji możesz grać z 3, 4 lub 5 graczami, przy czym 5 to idealna liczba graczy. Gra wykorzystuje 32 karty ze standardowej talii 52 kart.

Podstawowe zasady znajdziesz tutaj:

Krótkie podsumowanie zasad gry dla 5 graczy; każdy gracz otrzymuje 6 kart, a graczowi w ciemno dwie karty. Gracz po lewej stronie rozdającego ma pierwszą szansę na wybranie ciemnej, następnie następnego gracza itd., dopóki ktoś nie wybierze ciemnej lub dopóki wszyscy gracze nie będą mieli do wyboru. Jeśli nikt nie wybierze, gra zaczyna się od nowa i rozdawane są nowe karty. Osoba, która wybiera w ciemno, nazywana jest zbieraczem. Wybierający wybiera partnera, sprawdzając kolor kier, trefl lub pik, ale musi mieć w ręku kartę tego samego koloru. Partnerem jest gracz, który ma asa w wywołanym kolorze. Gracze muszą podążać za kolorem pierwszej zagranej karty, atut jest kolorem. Partner musi zagrać asa, gdy wywoływany kolor po raz pierwszy wychodzi na prowadzenie. Wybierający i partner muszą zdobyć 61 punktów, aby wygrać mecz. Gracze, którzy nie są zbieraczem ani partnerem, tworzą drużynę, a ich punkty są łączone, aby ich pokonać. Zobacz link do zasad powyżej, aby uzyskać punktację.

W grze dla 3 i 4 graczy nie ma partnera i rozdawanych jest odpowiednio 10 lub 8 kart.

Nie zaimplementowałem gry najmniejszej. Gdy żaden gracz nie wybiera, gra może być kontynuowana przez gracza w mniejszym stopniu. Zwycięzcą Leaster jest gracz, który weźmie co najmniej jedną lewę i zdobędzie najmniej punktów.

Produkcja gier:

Moją inspiracją do tego projektu była chęć stworzenia aplikacji Sheepshead, a także nauka jquery. Użyłem również dragula.js, aby pomóc w przeciąganiu i upuszczaniu kart. esp8266 jest przełączany w tryb AP. Aby się połączyć, potrzebujesz urządzenia WiFi, które może połączyć się z siecią „Sheepshead” i przejdź do strony internetowej

To moje pierwsze instrukcje, więc byłbym wdzięczny za wszelkie uwagi. Postaram się odpowiedzieć na Twoje pytania, kiedy będę mógł.

Krok 1: Budowanie sprzętu

Budowanie sprzętu
Budowanie sprzętu
Budowanie sprzętu
Budowanie sprzętu
Budowanie sprzętu
Budowanie sprzętu

Wymagania sprzętowe

Można to zrobić za pomocą Wemos D1 Mini lub esp8266 - esp-07 lub esp-12.

Budowa Esp8266:

  • esp8266 (esp-07 lub esp-12)
  • biała płytka montażowa do esp8266 + złącza
  • 6-pinowe złącze żeńskie (opcjonalnie)
  • Regulator napięcia LM317
  • (2) rezystor 10K Ohm
  • Rezystor 390 Ohm
  • Rezystor 220 Ohm
  • Rezystor 20 Ohm
  • (2) przyciski chwilowe
  • Kondensator ceramiczny 100n
  • Kondensator elektrolityczny 10uF
  • Kondensator elektrolityczny 220uF
  • Dioda 1N4002 (opcjonalnie)
  • złącze baryłkowe (użyłem bocznego montażu i przylutowałem do 3 pinowego złącza męskiego)
  • Pudełko projektu
  • Zasilacz

Dołączyłem pliki ExpressSCH i ExpressPCB, których użyłem do zbudowania obwodu. Jak widać na zdjęciu nie dodałem przycisków ani nie użyłem złącza J2 (które można wykorzystać z modułem FTDI232RL do programowania esp8266). Jeśli chcesz używać tego jako programatora esp8266, będziesz potrzebować przycisków i złącza J2. Aby sflashować oprogramowanie lub dane, musisz zresetować urządzenie (SW1), przytrzymaj je, naciskając przycisk (SW2), a następnie puszczając przycisk (SW1), a następnie wgraj kod.

Przed umieszczeniem jakichkolwiek elementów sprawdź obwód, testując każde połączenie. Upewnij się, że regulator napięcia podaje napięcie 3,3 V i dokładnie sprawdź wszystkie połączenia. Jeśli nie jesteś pewien, polecam użyć Wemos D1 mini, ponieważ nie jest wymagane lutowanie.

Krok 2: Ładowanie oprogramowania

Ładowanie oprogramowania
Ładowanie oprogramowania

Oprogramowanie

Dołączyłem oprogramowanie do tego projektu. Podam krótkie wyjaśnienie każdej klasy i do czego służą, ale nie będę wchodzić w szczegóły. Ta gra jest dowodem koncepcji, że gra karciana może być stworzona na esp8266. Gra ma kilka spraw, których jeszcze nie rozpracowałem. Na przykład, gdy użytkownik loguje się i traci połączenie, nie zostaje zwolniony z gry i nie może ponownie połączyć się z grą. Jedynym sposobem na obejście tego jest zresetowanie gry i rozpoczęcie od nowa. Gra jest nieco powolna i czasami nie odświeża kart. Użytkownik może odświeżyć przeglądarkę, która powinna poprawnie wyświetlać karty. Jeśli użytkownik zapisze łącze na swoim ekranie głównym (dla iPhone'a), przycisk odświeżania nie jest dostępny, co uniemożliwia odświeżenie. Czasami trudno jest przeciągać i upuszczać karty na/z blindów na małych urządzeniach.

Klasa Card.h i Card.ino Card

Ta klasa zawiera kolor karty, rangę, punkt i które karty są atutem.

Deck.h i Deck.ino Klasa pokładu

Ta klasa zawierała informacje o talii kart. Ma sposób na tasowanie talii i pobieranie kart z talii. Używa losowego ziarna do tasowania talii

Hand.h i Hand.ino

Ta klasa implementuje interfejs IGame i przechowuje informacje o rozdaniu każdego gracza. Kim są zbieracze, partnerzy i dealerzy. Zapisuje kto jest kolej, jaki jest wywołany kolor, jaki jest kolor wiodący, jaki numer rozdania, liczba graczy, kto jest zwycięzcą, itd.

Player.h i Player.ino Klasa gracza

Ta klasa przechowuje informacje o graczu, takie jak nazwa gracza, punkty drużynowe, jeśli gracz wybrał lub spasował i wyświetla wiadomość do gracza.

Klasa interfejsu IGame.h i IGame.ino IGame

Ta klasa zawiera klasy Deck, Card i Player do kontrolowania przebiegu gry.

Sheepshead.ino

Posiada funkcję konfiguracji i pętli do obsługi witryny internetowej.

pliki login.html i login.js

Pliki te kontrolują przepływ strony internetowej logowania użytkownika

pliki sheepshead.html i sheepshead.js

Pliki te kontrolują przebieg gry w owczego łba na stronie internetowej.

Obrazy kart

zawiera obraz każdej karty, w tym rewers karty.

Oto krótkie wyjaśnienie dotyczące ładowania oprogramowania na esp8266. W sieci jest kilka przykładów, które mogą to bardziej szczegółowo wyjaśnić. W ten sposób ładowałem oprogramowanie i dane za pomocą oprogramowania Arduino IDE.

  • Zainstaluj oprogramowanie Arduino i pliki płyt esp8266, zobacz https://github.com/esp8266/Arduino, aby uzyskać więcej informacji.
  • Jeśli używasz Wemos D1 mini, ustaw rozmiar lampy błyskowej na 4M (1M SPIFFS). Jeśli używasz ogólnego esp8266 esp-07 lub esp-12, ustaw rozmiar Flash na 1M (512 SPIFFS).
  • Może być konieczne zainstalowanie dodatkowych bibliotek w oprogramowaniu Arduino.
  • Aby zainstalować dane SPIFF, skorzystaj z tego linku
  • rozpakuj oprogramowanie Sheepshead i umieść na komputerze.
  • Uruchom oprogramowanie Arduino IDE i otwórz projekt Sheepshead
  • Zainstaluj kod Sheepshead na urządzeniu esp8266, klikając przycisk przesyłania. Jeśli nie korzystasz z Wemos D1 Mini, może być konieczne przełączenie urządzenia w tryb flash, klikając przycisk resetowania (SW1), przytrzymaj go, naciskając przycisk (SW2), a następnie puszczając przycisk (SW1), a następnie wgraj kod.
  • Zainstaluj dane na urządzeniu esp8266, przechodząc do narzędzi w menu i klikając „Przesyłanie danych szkicu ESP8266”. Będziesz musiał wykonać te same kroki, co powyżej, aby przełączyć urządzenie w tryb lampy błyskowej.
  • Po załadowaniu oprogramowania i danych możesz rozpocząć grę.

Krok 3: Granie w grę

Grać w gre
Grać w gre
Grać w gre
Grać w gre
Grać w gre
Grać w gre

Aby się połączyć, potrzebujesz urządzenia WiFi, które może połączyć się z siecią „Sheepshead”, a następnie przejdź do strony internetowej

  • Gracze dołączają, wpisując swoje imię i klikając Dołącz. Gra zakłada, że będziesz mieć 5 graczy, jeśli nie, gracz musi wybrać liczbę graczy, zanim ostatni gracz dołączy do gry.
  • Gdy ostatni gracz dołączy, karty są rozdawane, a gra rozpoczyna się, gdy gracz kliknie przycisk Start.
  • Gra nie pozwoli graczowi zagrać nieważnej karty lub zagrać poza kolejnością.
  • Kliknięcie karty zwiększy jej rozmiar, aby była bardziej widoczna. Jeśli klikniesz po raz drugi, karta zostanie zagrana.
  • Nazwa gracza jest wyróżniona białymi literami.
  • Gracz, który ma zagrać jako następny, będzie miał czerwone pole otaczające jego imię i kartę.
  • Gra rozpoczyna się od umożliwienia graczowi wybrania ciemnej lub spasowania. Kiedy gracz wybiera ciemną, może przeciągać i upuszczać karty z ciemnej do/z tego rozdania. Gdy zbieracz ma karty, które chce, musi wybrać kolor wywołany z listy rozwijanej.
  • Gra potwierdzi, że mają odpowiednią kartę do wywołanego koloru.
  • Gra rozpoczyna się, gdy pierwszy gracz zagra pierwszą kartę, każdy gracz zagrywa jedną kartę i wyświetlany jest zwycięzca rozdania. Punkty są obliczane i wyświetlane dla każdego gracza/drużyny.
  • Zwycięzca rozdania zagrywa pierwszą kartę, a każdy gracz zagrywa jedną kartę.
  • Gra jest kontynuowana, dopóki wszystkie karty nie zostaną zagrane
  • Zwycięzca jest określony.
  • Następna osoba zostaje krupierem i rozpoczyna się nowa gra.

Krok 4: Wniosek

To jest mój pierwszy Instruktaż i cieszę się z twojej opinii. Jak powiedziałem, jest to dowód koncepcji, że grę karcianą można zrobić na urządzeniu esp8266. Ma kilka problemów, ale jest grywalny. Czekam na Wasze komentarze i sugestie.

Zalecana: