İçindekiler:
Video: Esp8266 ile Sheepshead Kart Oyunu: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Sheepshead, teyzelerim ve amcalarımın aile toplantılarında oynadığı bir kart oyunudur. Avrupa'da ortaya çıkan bir kart oyunu alarak hiledir. Birkaç versiyonu var, bu yüzden benim versiyonum oynadığınızdan biraz farklı olabilir. Uyguladığım sürümde 3, 4 veya 5 oyuncu ile oynayabilirsiniz, 5 ideal oyuncu sayısıdır. Oyun standart bir 52 kart destesinden 32 kart kullanır.
Temel kurallar burada bulunabilir:
5 kişilik bir oyun için kuralların kısa bir özeti; her oyuncuya 6 kart dağıtılır ve kör oyuncuya iki kart dağıtılır. Dağıtıcının solundaki oyuncuya önce kör bahsi seçme şansı, ardından bir sonraki oyuncuya, biri kör bahsi seçene kadar veya tüm oyuncularda seçim değişikliği olana kadar vb. şans verilir. Eğer kimse seçmezse oyun baştan başlar ve yeni kartlar dağıtılır. Körü seçen kişiye seçici denir. Seçici, Kupa, Sopa veya Maça renklerinden birini arayarak bir partner seçer ancak elinde aynı renkten bir kart olmalıdır. Aranan takımın Asına sahip olan oyuncu ortaktır. Oyuncular oynanan ilk kartın rengini takip etmelidir, koz bir renktir. Ortak, çağrılan renk ilk kez lider olduğunda As'ı oynamalıdır. Seçici ve ortak, oyunu kazanmak için 61 puan almalıdır. Seçici veya ortak olmayan oyuncular bir takım oluşturur ve puanları onları yenmek için birleştirilir. Puanlama için yukarıdaki kurallar bağlantısına bakın.
3 ve 4 kişilik oyun için ortak yoktur ve sırasıyla 10 veya 8 kart dağıtılır.
En az bir oyun uygulamadım. Hiçbir oyuncu seçmediğinde, oyun en az oyuncu tarafından devam edebilir. En Az Kazanan, en az bir numara alan ve en az puanı alan oyuncudur.
Oyun geliştirme:
Bu proje için ilham kaynağım bir Sheepshead uygulaması oluşturmak ve aynı zamanda jquery öğrenmek istemekten geldi. Ayrıca kartların sürüklenip bırakılmasına yardımcı olması için dragula.js kullandım. esp8266, AP moduna alınır. Bağlanmak için "Sheepshead" ağına bağlanabilen ve https://191.168.1.1 web sitesine gidebilen bir WiFi cihazına ihtiyacınız var.
Bu benim ilk talimatım, bu yüzden herhangi bir geri bildirim için minnettar olurum. Elimden geldiğince sorularınızı yanıtlamaya çalışacağım.
Adım 1: Donanımı Oluşturma
Donanım Gereksinimleri
Bu, bir Wemos D1 Mini ile veya bir esp8266 - esp-07 veya esp-12 ile yapılabilir.
Esp8266 yapısı:
- esp8266 (esp-07 veya esp-12)
- esp8266 + konektörler için beyaz montaj panosu
- 6 pinli dişi konnektör (isteğe bağlı)
- LM317 voltaj regülatörü
- (2) 10K Ohm direnç
- 390 Ohm Direnç
- 220 Ohm Direnç
- 20 Ohm Direnç
- (2) anlık butonlar
- 100n seramik kondansatör
- 10uF elektrolitik kapasitör
- 220uF elektrolitik kondansatör
- 1N4002 diyot (isteğe bağlı)
- namlu konektörü (yan montaj kullandım ve 3 pinli erkek konektöre lehimledim)
- proje kutusu
- Güç kaynağı
Devreyi oluşturmak için kullandığım ExpressSCH ve ExpressPCB dosyalarını ekledim. Resimden de görebileceğiniz gibi, butonları eklemedim veya J2 konektörünü kullanmadım (esp8266'yı programlamak için FTDI232RL modülü ile kullanılabilir). Bunu bir esp8266 programcısı olarak kullanmak istiyorsanız, düğmelere ve J2 konektörüne ihtiyacınız olacak. Yazılımı veya verileri flaş etmek için cihazı (SW1) sıfırlamanız gerekir (SW2) düğmesine basarken basılı tutun, ardından (SW1) düğmesini bırakın ve ardından kodu yükleyin.
Herhangi bir bileşeni yerleştirmeden önce her bağlantıyı test ederek devreyi doğrulayın. Voltaj regülatörünün 3,3 volt çıkış verdiğini doğrulayın ve tüm bağlantıları iki kez kontrol edin. Emin değilseniz, lehimleme gerekmediğinden bir Wemos D1 mini kullanmanızı öneririm.
Adım 2: Yazılımı Yükleme
Yazılım
Bu proje için yazılımı dahil ettim. Her sınıf ve ne için kullanıldığı hakkında kısa bir açıklama yapacağım ama ayrıntılara girmeyeceğim. Bu oyun, bir esp8266'da bir kart oyununun yapılabileceğinin bir kanıtıdır. Oyunun henüz çözemediğim birkaç sorunu var. Örneğin, bir kullanıcı oturum açtığında ve bağlantısını kaybettiğinde oyundan serbest bırakılmaz ve oyuna yeniden bağlanamaz. Bunu aşmanın tek yolu oyunu sıfırlamak ve baştan başlamaktır. Oyun biraz yavaş ve bazen kartları yenilemez. Kullanıcı, kartları doğru şekilde göstermesi gereken tarayıcıyı yenileyebilir. Kullanıcı bağlantıyı ana ekranına kaydederse (iPhone'lar için), yenileme düğmesi kullanılamaz ve yenilemeyi imkansız hale getirir. Bazen küçük cihazlarda kartları körlüğe / körlüğe sürükleyip bırakmak zordur.
Card.h ve Card.ino Card sınıfı
Bu sınıf, kart takımını, derecesini, puanını ve hangi kartların koz olduğunu tutar.
Deck.h ve Deck.ino Deck sınıfı
Bu sınıf, kart destesi bilgilerini tutar. Desteyi karıştırma ve desteden kart alma yöntemine sahiptir. Desteyi karıştırmak için rastgele bir tohum kullanır
Hand.h ve Hand.ino
Bu sınıf, IGame arayüzünü uygular ve her oyuncunun Eli hakkında bilgi tutar. Seçici, Ortaklar ve Bayi kimdir. Sıranın kimde olduğunu, rengin ne olduğunu, ana rengin ne olduğunu, hangi el numarasını, oyuncu sayısını, kazananın kim olduğunu vb.
Player.h ve Player.ino Player sınıfı
Bu sınıf, oyuncunun seçtiği veya başarılı olduğu oyuncu adı, takım puanları gibi Oyuncu bilgilerini tutar ve oyuncuya mesaj görüntüler.
IGame.h ve IGame.ino IGame arabirim sınıfı
Bu sınıf, oyun akışını kontrol etmek için Deste, Kart ve Oyuncu sınıflarını içerir.
Sheepshead.ino
Web sitesine hizmet vermek için kurulum ve döngü işlevini tutar.
login.html ve login.js dosyaları
Bu dosyalar, kullanıcı oturum açma web sitesi sayfasının akışını kontrol eder.
koyunshead.html ve koyunshead.js dosyaları
Bu dosyalar web sitesindeki koyun süsü oyununun akışını kontrol eder.
Kart resimleri
kartın arkası da dahil olmak üzere her kartın görüntüsünü tutar.
İşte esp8266'ya yükleme yazılımının kısa bir açıklaması. Web'de daha ayrıntılı olarak açıklayabilecek birkaç örnek var. Arduino IDE yazılımını kullanarak yazılımı ve verileri bu şekilde yükledim.
- Arduino yazılımını ve esp8266 kart dosyalarını kurun, daha fazla bilgi için https://github.com/esp8266/Arduino adresine bakın.
- Wemos D1 mini kullanıyorsanız, Flash boyutunu 4M (1M SPIFFS) olarak ayarlayın. Genel bir esp8266 esp-07 veya esp-12 kullanıyorsanız, Flash boyutunu 1M (512 SPIFFS) olarak ayarlayın.
- Arduino yazılımına bazı ek kütüphaneler kurmanız gerekebilir.
- SPIFF verilerini yüklemek için bu bağlantıyı takip edin
- Sheepshead yazılımını açın ve bilgisayarınıza yerleştirin.
- Arduino IDE yazılımını başlatın ve Sheepshead projesini açın
- Yükleme düğmesine tıklayarak Sheepshead kodunu esp8266 cihazına yükleyin. Wemos D1 Mini'yi kullanmıyorsanız, sıfırlama düğmesine (SW1) tıklayarak cihazı flaş moduna geçirmeniz gerekebilir, (SW2) düğmesine basarken basılı tutun, ardından (SW1) düğmesini bırakın ve ardından kodu yükleyin.
- Menüdeki araçlara gidip "ESP8266 Sketch Data Upload" seçeneğine tıklayarak verileri esp8266 cihazına yükleyin. Cihazı flaş moduna geçirmek için yukarıdaki adımların aynısını uygulamanız gerekecektir.
- Yazılım ve veriler yüklendikten sonra oyunu oynamaya hazırsınız.
3. Adım: Oyunu Oynamak
Bağlanmak için "Sheepshead" ağına bağlanabilen bir WiFi cihazına ihtiyacınız var ve ardından https://191.168.1.1 web sitesine gidin.
- Oyuncular, adlarını girip Katıl'ı tıklatarak katılırlar. Oyun, 5 oyuncunuz olacağını varsayar, yoksa bir oyuncunun son oyuncu oyuna katılmadan önce oyuncu sayısını seçmesi gerekir.
- Son oyuncu katıldığında kartlar dağıtılır ve oyuncu Başlat düğmesine tıkladığında oyun başlar.
- Oyun, bir oyuncunun geçersiz bir kart oynamasına veya sıra dışı oynamasına izin vermez.
- Bir kart tıklandığında daha görünür olması için boyutu artacaktır. İkinci kez tıklanırsa kart oynanır.
- Oyuncu adı beyaz harflerle vurgulanır.
- Sırada oynayacak oyuncunun adını ve kartını çevreleyen kırmızı bir kutu olacaktır.
- Oyun, bir oyuncunun kör veya pas seçmesine izin vererek başlar. Bir oyuncu kör bahisi seçtiğinde, kartları kör bahisten oraya/elden oraya sürükleyip bırakabilir. Seçici, istediği kartlara sahip olduğunda, açılır menüden adı verilen bir renk seçmelidir.
- Oyun, çağrılan takım için uygun bir karta sahip olduklarını doğrulayacaktır.
- Oyun, ilk oyuncu ilk kartı oynadığında başlar, her oyuncu bir kart oynar ve elin kazananı görüntülenir. Puanlar her oyuncu/takım için hesaplanır ve görüntülenir.
- Elin galibi ilk kartı oynar ve her oyuncu bir kart oynar.
- Tüm kartlar oynanana kadar oyun devam eder
- Bir kazanan belirlenir.
- Sıradaki kişi krupiye olur ve yeni bir oyun başlar.
4. Adım: Sonuç
Bu benim ilk Eğitilebilirliğim ve geri bildiriminizi memnuniyetle karşılıyorum. Dediğim gibi bu, bir esp8266 cihazında bir kart oyununun yapılabileceğinin bir kanıtı. Birkaç sorunu var ama oynanabilir durumda. Yorumlarınızı ve önerilerinizi bekliyorum.
Önerilen:
Arduino ile Mikro SD Kart Kullanan Audio Player: 7 Adım (Resimlerle)
Mikro SD Kart ile Arduino Kullanan Ses Çalar: Daha fazla proje için lütfen kanalıma ABONE OLUN…………………… Birçok kişi SD kart arayüzünü istiyor arduino ile veya arduino üzerinden bir miktar ses çıkışı istiyorsanız. İşte SD kartı arduino ile arayüzlemenin en kolay ve en ucuz yolu. bize yapabilirsin
Arduino UNO ve SD-Kart ile Nem ve Sıcaklık Gerçek Zamanlı Veri Kaydedici Nasıl Yapılır - Proteus'ta DHT11 Veri Kaydedici Simülasyonu: 5 Adım
Arduino UNO ve SD-Kart ile Nem ve Sıcaklık Gerçek Zamanlı Veri Kaydedici Nasıl Yapılır | Proteus'ta DHT11 Veri Kaydedici Simülasyonu: Giriş: merhaba, ben Liono Maker, işte YouTube bağlantısı. Arduino ile yaratıcı projeler yapıyoruz ve gömülü sistemler üzerinde çalışıyoruz
Raspberry Pi'de Kart Oyunu Nasıl Yapılır: 8 Adım
Raspberry Pi'de Kart Oyunu Nasıl Yapılır: Bunun amacı, müzik, düğmeler, ışıklar ve bir zil kullanarak ahududu pi üzerinde bir oyun oluşturmaktır! oyunun adı Aslar ve amaç, aşmadan 21'e mümkün olduğunca yaklaşmak. Adım 1: Ahududu Pi'yi Hazırlamak Ahududu pi'yi alın ve
ESP32 ile PWM - Arduino IDE ile ESP 32'de PWM ile LED Karartma: 6 Adım
ESP32 ile PWM | Arduino IDE ile ESP 32'de PWM ile LED Karartma: Bu talimatta Arduino IDE & PWM temel olarak herhangi bir MCU'dan analog çıkış üretmek için kullanılır ve bu analog çıkış 0V ile 3.3V (esp32 durumunda) arasında herhangi bir şey olabilir & itibaren
ESP8266 ile SD Kart Modülü: 6 Adım
ESP8266 ile SD Kart Modülü: Bu montajda, ESP8266'ya bağlı bir SD Kartımız var. Sıcaklık ve nemi ölçen ve bu bilgiyi SD karta gönderen bir DHT22 koyduk.Devre üzerinde 43.40 nem ve 26.80 sıcaklık gösteriyor. Ben her zaman