Mündəricat:

Esp8266 ilə Sheepshead Kart Oyunu: 4 Addım
Esp8266 ilə Sheepshead Kart Oyunu: 4 Addım

Video: Esp8266 ilə Sheepshead Kart Oyunu: 4 Addım

Video: Esp8266 ilə Sheepshead Kart Oyunu: 4 Addım
Video: Home Assistant - подключаем адресную ленту WS2812B через ESP8266 с прошивкой WLED 2024, Noyabr
Anonim
Esp8266 ilə Sheepshead Kart Oyunu
Esp8266 ilə Sheepshead Kart Oyunu

Sheepshead, xalalarımla əmilərimin ailə məclislərində oynayacaqları bir kart oyunudur. Bu, Avropada yaranan bir kart oyunudur. Bir neçə versiya var, buna görə mənim versiyam oynadığınızdan bir qədər fərqli ola bilər. Həyata keçirdiyim versiyada 5, ideal oyunçu sayı olan 3, 4 və ya 5 oyunçu ilə oynaya bilərsiniz. Oyun standart 52 kart göyərtəsindən 32 kart istifadə edir.

Əsas qaydaları burada tapa bilərsiniz:

5 oyunçu oyun qaydalarının qısa xülasəsi; hər oyunçuya 6 kart verilir və iki kart korlara verilir. Qalan satıcılara gedən oyunçuya koru seçmək üçün ilk şans verilir, sonra kimsə koru götürənə qədər və ya bütün oyunçularda bir dəyişiklik olmayana qədər. Heç kim seçməsə oyun yenidən başlayır və yeni kartlar verilir. Koru seçənə seçici deyilir. Seçici bir kostyum çağıraraq ortaq seçir, ya Hearts, Clubs və ya Spades, lakin əlində eyni kostyumun kartı olmalıdır. Çağırılan kostyumun Ace'sinə sahib olan oyunçu ortaqdır. Oyunçular oynadığı ilk karta uyğun hərəkət etməlidirlər, trump bir kostyumdur. Çağırılan kostyum ilk dəfə qurşun olduğu zaman ortaq Ace oynamalıdır. Seçici və ortaq oyunu qazanmaq üçün 61 xal toplamalıdır. Seçici və ya ortaq olmayan oyunçular bir komanda meydana gətirir və xalları məğlub etmək üçün birləşdirilir. Qol vurmaq üçün yuxarıdakı qaydalara baxın.

3 və 4 oyunçu üçün ortaq yoxdur və 10 və ya 8 kart paylanır.

Mən zəncirvari oyun tətbiq etməmişəm. Heç bir oyunçu seçmədikdə, oyunçu leaster ilə davam edə bilər. Leaster qalibi ən az bir hiylə işlədən və ən az xal toplayan oyunçudur.

Oyun inkişafı:

Bu layihə üçün ilhamım Sheepshead tətbiqi yaratmaq və jquery öyrənmək istəyimdən qaynaqlanır. Kartların sürüklənməsinə kömək etmək üçün dragula.js istifadə etdim. Esp8266 AP rejiminə keçir. Qoşulmaq üçün "Sheepshead" şəbəkəsinə qoşula bilən və https://191.168.1.1 veb saytına daxil olan bir WiFi cihazına ehtiyacınız var.

Bu mənim ilk göstərişlərimdir, buna görə də hər hansı bir rəydən məmnun olaram. İmkan daxilində suallarınıza cavab verməyə çalışacağam.

Addım 1: Avadanlıq qurmaq

Avadanlıq qurmaq
Avadanlıq qurmaq
Avadanlıq qurmaq
Avadanlıq qurmaq
Avadanlıq qurmaq
Avadanlıq qurmaq

Avadanlıq Tələbləri

Bu Wemos D1 Mini ilə və ya esp8266-esp-07 və ya esp-12 ilə edilə bilər.

Esp8266 qurmaq:

  • esp8266 (esp-07 və ya esp-12)
  • esp8266 + bağlayıcılar üçün ağ montaj lövhəsi
  • 6 pinli qadın konnektoru (isteğe bağlı)
  • LM317 gərginlik tənzimləyicisi
  • (2) 10K Ohm müqavimət
  • 390 Ohm müqavimət
  • 220 Ohm müqavimət
  • 20 Ohm müqavimət
  • (2) ani düymələr
  • 100n keramika kondansatörü
  • 10 uF elektrolitik kondansatör
  • 220 uF elektrolitik kondansatör
  • 1N4002 diod (isteğe bağlı)
  • barel konnektoru (bir yan montaj istifadə etdim və 3 pinli kişi bağlayıcıya lehimləndim)
  • Layihə qutusu
  • Enerji təchizatı

Dövr qurmaq üçün istifadə etdiyim ExpressSCH və ExpressPCB fayllarını daxil etdim. Şəkildən də gördüyünüz kimi düymələri əlavə etməmişəm və ya J2 konnektorundan istifadə etməmişəm (esp8266 proqramlaşdırmaq üçün FTDI232RL modulu ilə istifadə oluna bilər). Bunu esp8266 proqramçısı olaraq istifadə etmək istəyirsinizsə düymələrə və J2 konnektoruna ehtiyacınız olacaq. Proqramı və ya məlumatları flaş etmək üçün cihazı (SW1) sıfırlamalısınız (SW2) düyməsini basıb saxlayın, sonra (SW1) düyməsini buraxın və sonra kodu yükləyin.

Hər hansı bir komponenti qoymadan əvvəl, hər bir əlaqəni sınayaraq dövrə yoxlayın. Gərginlik tənzimləyicisinin 3,3 volt çıxdığını yoxlayın və bütün əlaqələri iki dəfə yoxlayın. Əmin deyilsinizsə, lehimləmə tələb olunmadığı üçün Wemos D1 mini istifadə etməyi məsləhət görürəm.

Addım 2: Proqramın Yüklənməsi

Proqram yüklənir
Proqram yüklənir

Proqram təminatı

Bu layihə üçün proqramı daxil etdim. Hər bir sinif və bunun nə üçün istifadə edildiyi haqqında qısa bir açıqlama verəcəyəm, amma detallara girməyəcəyəm. Bu oyun, bir esp8266 üzərində bir kart oyununun edilə biləcəyi anlayışının sübutudur. Oyunda hələ həll etmədiyim bir neçə problem var. Məsələn, bir istifadəçi daxil olduqda və əlaqəni itirdikdə, oyundan azad edilmir və oyuna yenidən qoşula bilmir. Bunun yeganə yolu oyunu sıfırlamaq və yenidən başlamaqdır. Oyun bir az ləng gedir və bəzən kartları yeniləmir. İstifadəçi kartları düzgün göstərməli olan brauzeri yeniləyə bilər. İstifadəçi linki ana ekranda (iPhone üçün) saxlayırsa, yeniləmə düyməsini əldə etmək mümkün deyil, bu da yeniləməni qeyri -mümkün edir. Bəzən kiçik cihazlarda kartları korlara sürükləyib atmaq çətindir.

Card.h və Card.ino Card sinfi

Bu sinif kart kostyumunu, rütbəni, nöqtəni və hansı kartların qoz olduğunu bilir.

Deck.h və Deck.ino Deck sinfi

Bu sinif kart göyərtəsi məlumatlarını saxladı. Göyərtəni qarışdırmaq və göyərtədən kartlar almaq üsulu var. Göyərtəni qarışdırmaq üçün təsadüfi bir toxum istifadə edir

Hand.h və Hand.ino

Bu sinif IGame interfeysini həyata keçirir və hər oyunçu haqqında məlumat tutur. Seçici, Tərəfdaş və Satıcı kimlərdir. Növbənin kim olduğunu, kostyumun nə olduğunu, aparıcı kostyumun nə olduğunu, hansı əl nömrəsini, oyunçuların sayını, qalibin kim olduğunu və s.

Player.h və Player.ino Player sinfi

Bu sinif, oyunçunun seçdiyi və ya ötürdüyü və oyunçuya mesaj göstərdiyi təqdirdə oyunçu adı, komanda xalları kimi Oyunçu məlumatlarını ehtiva edir.

IGame.h və IGame.ino IGame interfeys sinfi

Bu sinif oyun axınını idarə etmək üçün Güverte, Kart və Oyunçu siniflərinə malikdir.

Sheepshead.ino

Veb sayta xidmət etmək üçün quraşdırma və döngə funksiyasını saxlayır.

login.html və login.js faylları

Bu fayllar istifadəçi giriş veb saytı üçün axını idarə edir

qoyun başı.html və qoyun başı.js faylları

Bu fayllar veb saytının qoyun başı oyununu idarə edir.

Kart şəkilləri

kartın arxası daxil olmaqla hər bir kartın şəklini saxlayır.

Budur esp8266 -ya proqram yükləyən qısa bir izahat. İnternetdə bunu daha ətraflı izah edə biləcək bir neçə nümunə var. Arduino IDE proqramını istifadə edərək proqramı və məlumatları belə yüklədim.

  • Arduino proqramını və esp8266 lövhə fayllarını quraşdırın, daha çox məlumat üçün https://github.com/esp8266/Arduino -ya baxın.
  • Wemos D1 mini istifadə edirsinizsə, Flash ölçüsünü 4M (1M SPIFFS) olaraq təyin edin. Ümumi bir esp8266 esp-07 və ya esp-12 istifadə edirsinizsə, Flash ölçüsünü 1M (512 SPIFFS) olaraq təyin edin.
  • Arduino proqramına bəzi əlavə kitabxanalar quraşdırmanız lazım ola bilər.
  • SPIFF məlumatlarını yükləmək üçün bu linki izləyin
  • Sheepshead proqramını açın və kompüterinizə qoyun.
  • Arduino IDE proqramını başladın və Sheepshead layihəsini açın
  • Yükləmə düyməsini basaraq Sheepshead kodunu esp8266 cihazına quraşdırın. Wemos D1 Mini -dən istifadə etmirsinizsə, cihazı sıfırlama düyməsini (SW1) tıklayaraq (SW2) düyməsini basıb saxlayın, sonra (SW1) düyməsini buraxaraq kodu yükləyin.
  • Menyu üzərindəki vasitələrə keçərək "ESP8266 Sketch Data Upload" düyməsini basaraq məlumatları esp8266 cihazına quraşdırın. Cihazı flaş rejiminə salmaq üçün yuxarıdakı addımları yerinə yetirməlisiniz.
  • Proqram və məlumatlar yükləndikdən sonra oyunu oynamağa hazırsınız.

Addım 3: Oyunu oynamaq

Oyunun Oynanması
Oyunun Oynanması
Oyunun Oynanması
Oyunun Oynanması
Oyunun Oynanması
Oyunun Oynanması

Qoşulmaq üçün "Sheepshead" şəbəkəsinə qoşula bilən bir WiFi cihazına ehtiyacınız var, sonra https://191.168.1.1 veb saytına daxil olun.

  • Oyunçular adlarını daxil edərək Qoşul düyməsini basaraq qoşulurlar. Oyun, 5 oyunçunuz olacağını güman edir, əgər deyilsə, oyunçu son oyunçu oyuna qoşulmazdan əvvəl oyunçu sayını seçməlidir.
  • Sonuncu oyunçuya qoşulduqda kartlar paylanır və oyunçu Başlat düyməsini basdıqda oyun başlayır.
  • Oyun, oyunçunun etibarsız bir kart oynamasına və ya növbədənkənar oynamasına icazə verməyəcək.
  • Bir kart tıklandığında daha çox görünmək üçün ölçüsü artacaq. İkinci dəfə tıklandıqda kart oynanılacaq.
  • Oyunçuların adı ağ hərflərlə vurğulanır.
  • Növbəti oynayacaq oyunçunun adını və kartını əhatə edən qırmızı bir qutu olacaq.
  • Oyun, bir oyunçunun koru seçməsinə və ya ötürməsinə icazə verməklə başlayır. Bir oyunçu koru seçdikdə kartları korlardan oradan/oradan sürükləyib ata bilər. Seçici istədikləri kartları aldıqdan sonra açılan siyahıdan uyğun bir kostyum seçməlidir.
  • Oyun, çağırılan kostyum üçün uyğun bir karta sahib olduqlarını təsdiq edəcək.
  • İlk oyunçu ilk kartı oynadıqda oyun başlayır, hər oyunçu bir kart oynayır və əl üçün qalib göstərilir. Xallar hər oyunçu/komanda üçün hesablanır və göstərilir.
  • Əlin qalibi ilk kartı oynayır və hər oyunçu bir kart oynayır.
  • Bütün kartlar oynanana qədər oyun davam edir
  • Qalib müəyyən edilir.
  • Növbəti şəxs satıcı olur və yeni bir oyun başlayır.

Addım 4: Nəticə

Bu mənim ilk təlimatımdır və rəylərinizi alqışlayıram. Dediyim kimi, bu, bir esp8266 cihazında bir kart oyununun edilə biləcəyinə dair bir sübutdur. Bir neçə problemi var, amma oynaya bilər. Şərhlərinizi və təkliflərinizi gözləyirəm.

Tövsiyə: