สารบัญ:
- ขั้นตอนที่ 1: สร้างฮาร์ดแวร์
- ขั้นตอนที่ 2: การโหลดซอฟต์แวร์
- ขั้นตอนที่ 3: การเล่นเกม
- ขั้นตอนที่ 4: บทสรุป
วีดีโอ: เกมไพ่ Sheepshead พร้อม Esp8266: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
Sheepshead เป็นเกมไพ่ที่ป้าและลุงของฉันจะเล่นระหว่างงานสังสรรค์ในครอบครัว มันเป็นเกมไพ่เคล็ดลับที่มีต้นกำเนิดในยุโรป มีหลายเวอร์ชัน ดังนั้นเวอร์ชันของฉันอาจแตกต่างจากที่คุณเล่นเล็กน้อย ในเวอร์ชันที่ฉันใช้ คุณสามารถเล่นกับผู้เล่น 3, 4 หรือ 5 คน โดย 5 คนเป็นจำนวนผู้เล่นในอุดมคติ เกมดังกล่าวใช้ไพ่ 32 ใบจากสำรับไพ่มาตรฐาน 52 ใบ
กฎพื้นฐานสามารถพบได้ที่นี่:
สรุปโดยย่อของกฎสำหรับเกมผู้เล่น 5 คน; ผู้เล่นแต่ละคนจะได้รับไพ่ 6 ใบและไพ่สองใบจะถูกแจกให้กับคนตาบอด ผู้เล่นที่ออกจากเจ้ามือจะได้รับโอกาสแรกในการเลือกคนตาบอด จากนั้นจึงเลือกผู้เล่นคนต่อไป ฯลฯ จนกว่าจะมีคนหยิบคนตาบอดหรือจนกว่าผู้เล่นทุกคนจะมีการเปลี่ยนแปลงให้เลือก หากไม่มีใครเลือก เกมจะเริ่มต้นใหม่และแจกไพ่ใหม่ คนที่หยิบคนตาบอดเรียกว่าคนหยิบ ผู้เลือกเลือกคู่ครองโดยการเรียกชุดสูท ไม่ว่าจะเป็น Hearts, Clubs หรือ Spades แต่ต้องมีไพ่ชุดเดียวกันอยู่ในมือ ผู้เล่นที่มีเอซของชุดที่เรียกว่าเป็นพันธมิตร ผู้เล่นจะต้องปฏิบัติตามไพ่ใบแรกที่เล่น ทรัมป์คือชุด พันธมิตรต้องเล่นเอซเมื่อถูกเรียกชุดแรก ผู้เลือกและพันธมิตรต้องได้รับ 61 แต้มจึงจะชนะเกม ผู้เล่นที่ไม่ใช่ผู้เลือกหรือพันธมิตรสร้างทีมและรวมคะแนนเข้าด้วยกันเพื่อเอาชนะพวกเขา ดูกฎกติกาด้านบนสำหรับการให้คะแนน
สำหรับเกมผู้เล่น 3 และ 4 คนจะไม่มีพันธมิตรและแจกไพ่ 10 หรือ 8 ใบตามลำดับ
ฉันไม่ได้ใช้งานเกมที่น้อยที่สุด เมื่อไม่มีผู้เล่นคนใดเลือกเกมสามารถดำเนินการต่อโดยผู้เล่นน้อยที่สุด ผู้ชนะที่น้อยที่สุดคือผู้เล่นที่เล่นกลอย่างน้อยหนึ่งครั้งและทำคะแนนได้น้อยที่สุด
การพัฒนาเกม:
แรงบันดาลใจของฉันสำหรับโครงการนี้มาจากความต้องการสร้างแอปพลิเคชัน Sheepshead และเรียนรู้ jquery ด้วย ฉันยังใช้ dragula.js เพื่อช่วยในการลากและวางการ์ด esp8266 เข้าสู่โหมด AP ในการเชื่อมต่อ คุณต้องมีอุปกรณ์ WiFi ที่สามารถเชื่อมต่อกับเครือข่าย "Sheepshead" และไปที่เว็บไซต์
นี่เป็นคำสั่งแรกของฉันดังนั้นฉันจะขอบคุณข้อเสนอแนะใด ๆ ฉันจะพยายามตอบคำถามของคุณเมื่อฉันสามารถ
ขั้นตอนที่ 1: สร้างฮาร์ดแวร์
ข้อกำหนดด้านฮาร์ดแวร์
ซึ่งสามารถทำได้ด้วย Wemos D1 Mini หรือ esp8266 - esp-07 หรือ esp-12
รุ่น Esp8266:
- esp8266 (esp-07 หรือ esp-12)
- แผงยึดสีขาวสำหรับ esp8266 + ขั้วต่อ
- ขั้วต่อตัวเมีย 6 ขา (อุปกรณ์เสริม)
- ตัวควบคุมแรงดันไฟฟ้า LM317
- (2) ตัวต้านทาน 10K โอห์ม
- ตัวต้านทาน 390 โอห์ม
- ตัวต้านทาน 220 โอห์ม
- ตัวต้านทาน 20 โอห์ม
- (2) ปุ่มกดชั่วขณะ
- ตัวเก็บประจุเซรามิก 100n
- ตัวเก็บประจุด้วยไฟฟ้า 10uF
- ตัวเก็บประจุด้วยไฟฟ้า 220uF
- 1N4002 ไดโอด (อุปกรณ์เสริม)
- ขั้วต่อแบบบาร์เรล (ฉันใช้ตัวยึดด้านข้างและบัดกรีกับขั้วต่อตัวผู้ 3 ขา)
- กล่องโครงการ
- แหล่งจ่ายไฟ
ฉันรวมไฟล์ ExpressSCH และ ExpressPCB ที่ฉันใช้สร้างวงจร ดังที่คุณเห็นจากภาพ ฉันไม่ได้เพิ่มปุ่มหรือใช้ตัวเชื่อมต่อ J2 (ซึ่งสามารถใช้กับโมดูล FTDI232RL สำหรับการตั้งโปรแกรม esp8266) หากคุณต้องการใช้เป็นโปรแกรมเมอร์ esp8266 คุณจะต้องมีปุ่มและขั้วต่อ J2 หากต้องการแฟลชซอฟต์แวร์หรือข้อมูล คุณจะต้องรีเซ็ตอุปกรณ์ (SW1) ให้กดค้างไว้ขณะกดปุ่ม (SW2) จากนั้นปล่อยปุ่ม (SW1) แล้วจึงอัปโหลดรหัส
ก่อนวางส่วนประกอบใดๆ ให้ตรวจสอบวงจรโดยการทดสอบการเชื่อมต่อแต่ละครั้ง ตรวจสอบว่าตัวควบคุมแรงดันไฟฟ้ามีเอาต์พุต 3.3 โวลต์ และตรวจสอบการเชื่อมต่อทั้งหมดอีกครั้ง หากคุณไม่แน่ใจ ฉันขอแนะนำให้ใช้ Wemos D1 mini เนื่องจากไม่จำเป็นต้องบัดกรี
ขั้นตอนที่ 2: การโหลดซอฟต์แวร์
ซอฟต์แวร์
ฉันรวมซอฟต์แวร์สำหรับโครงการนี้ ฉันจะให้คำอธิบายสั้น ๆ ของแต่ละคลาสและใช้เพื่ออะไร แต่ฉันจะไม่ลงรายละเอียด เกมนี้เป็นการพิสูจน์แนวคิดที่ว่าเกมไพ่สามารถสร้างได้ด้วย esp8266 เกมมีปัญหาบางอย่างที่ฉันยังไม่ได้ผล ตัวอย่างเช่น เมื่อผู้ใช้ล็อกอินและสูญเสียการเชื่อมต่อ ผู้ใช้จะไม่ออกจากเกมและไม่สามารถเชื่อมต่อกับเกมใหม่ได้ วิธีเดียวที่จะแก้ปัญหานี้คือรีเซ็ตเกมและเริ่มต้นใหม่ เกมค่อนข้างช้าและบางครั้งไม่รีเฟรชการ์ด ผู้ใช้สามารถรีเฟรชเบราว์เซอร์ซึ่งควรแสดงการ์ดอย่างถูกต้อง หากผู้ใช้บันทึกลิงก์ไว้บนหน้าจอหลัก (สำหรับ iPhone) แสดงว่าปุ่มรีเฟรชไม่พร้อมใช้งาน ทำให้ไม่สามารถรีเฟรชได้ บางครั้งการลากและวางการ์ดไปยัง/จากบลายด์บนอุปกรณ์ขนาดเล็กเป็นเรื่องยาก
Card.h และ Card.ino การ์ดคลาส
ชั้นนี้ถือไพ่ชุด ยศ จุด และไพ่ใบไหนที่กล้าหาญ
Deck.h และ Deck.ino ชั้นดาดฟ้า
ชั้นนี้มีข้อมูลสำรับไพ่ มีวิธีสับไพ่และรับไพ่จากสำรับ ใช้เมล็ดสุ่มในการสับไพ่
Hand.h และ Hand.ino
คลาสนี้ใช้อินเทอร์เฟซ IGame และเก็บข้อมูลบนมือของผู้เล่นแต่ละคน ใครคือ Picker, Partners และ Dealer มันจับว่าใครเป็นตาของใคร เรียกว่าชุดอะไร ชุดลีดคืออะไร เลขมืออะไร จำนวนผู้เล่น ใครเป็นผู้ชนะ ฯลฯ
Player.h และ Player.ino คลาสผู้เล่น
คลาสนี้เก็บข้อมูลผู้เล่น เช่น ชื่อผู้เล่น คะแนนทีม หากผู้เล่นเลือกหรือส่งผ่าน และแสดงข้อความถึงผู้เล่น
คลาสอินเทอร์เฟซ IGame.h และ IGame.ino IGame
คลาสนี้มีคลาสเด็ค การ์ด และผู้เล่นเพื่อควบคุมการไหลของเกม
Sheepshead.ino
ถือฟังก์ชั่นการตั้งค่าและวนซ้ำเพื่อให้บริการเว็บไซต์
ไฟล์ login.html และ login.js
ไฟล์เหล่านี้ควบคุมการไหลของหน้าเว็บไซต์เข้าสู่ระบบของผู้ใช้
ไฟล์ sheepshead.html และ sheepshead.js
ไฟล์เหล่านี้ควบคุมการไหลของเว็บไซต์เกมหัวแกะ
ภาพการ์ด
ถือภาพการ์ดแต่ละใบรวมทั้งด้านหลังการ์ด
นี่คือคำอธิบายสั้นๆ ในการโหลดซอฟต์แวร์ลงใน esp8266 มีตัวอย่างมากมายบนเว็บที่สามารถอธิบายรายละเอียดเพิ่มเติมได้ นี่คือวิธีที่ฉันโหลดซอฟต์แวร์และข้อมูลโดยใช้ซอฟต์แวร์ Arduino IDE
- ติดตั้งซอฟต์แวร์ Arduino และไฟล์บอร์ด esp8266 ดูข้อมูลเพิ่มเติมที่
- หากใช้ Wemos D1 mini ให้ตั้งค่าขนาดแฟลชเป็น 4M (1M SPIFFS) หากใช้ esp8266 esp-07 หรือ esp-12 ทั่วไป ให้ตั้งค่าขนาดแฟลชเป็น 1M (512 SPIFFS)
- คุณอาจต้องติดตั้งไลบรารีเพิ่มเติมบางตัวในซอฟต์แวร์ Arduino
- ในการติดตั้งข้อมูล SPIFF ให้ไปที่ลิงก์นี้
- เปิดเครื่องรูดซอฟต์แวร์ Sheepshead และวางลงในคอมพิวเตอร์ของคุณ
- เริ่มซอฟต์แวร์ Arduino IDE และเปิดโครงการ Sheepshead
- ติดตั้งโค้ด Sheepshead ลงในอุปกรณ์ esp8266 โดยคลิกปุ่มอัปโหลด หากคุณไม่ได้ใช้ Wemos D1 Mini คุณอาจต้องตั้งค่าอุปกรณ์ให้อยู่ในโหมดแฟลชโดยคลิกปุ่มรีเซ็ต (SW1) ให้กดค้างไว้ขณะกดปุ่ม (SW2) จากนั้นปล่อยปุ่ม (SW1) แล้วจึงอัปโหลดรหัส
- ติดตั้งข้อมูลลงในอุปกรณ์ esp8266 โดยไปที่เครื่องมือในเมนูแล้วคลิก "ESP8266 Sketch Data Upload" คุณจะต้องทำตามขั้นตอนเดียวกับด้านบนเพื่อให้อุปกรณ์อยู่ในโหมดแฟลช
- เมื่อโหลดซอฟต์แวร์และข้อมูลแล้ว คุณก็พร้อมที่จะเล่นเกม
ขั้นตอนที่ 3: การเล่นเกม
ในการเชื่อมต่อ คุณต้องมีอุปกรณ์ WiFi ที่สามารถเชื่อมต่อกับเครือข่าย "Sheepshead" จากนั้นไปที่ https://191.168.1.1 เว็บไซต์
- ผู้เล่นเข้าร่วมโดยป้อนชื่อและคลิกเข้าร่วม เกมสมมติคุณจะมีผู้เล่น 5 คน ถ้าไม่ใช่ผู้เล่นจะต้องเลือกจำนวนผู้เล่นก่อนที่ผู้เล่นคนสุดท้ายจะเข้าร่วมเกม
- เมื่อผู้เล่นคนสุดท้ายเข้าร่วมไพ่จะถูกแจกและเริ่มเกมเมื่อผู้เล่นคลิกปุ่มเริ่ม
- เกมจะไม่อนุญาตให้ผู้เล่นเล่นไพ่ที่ไม่ถูกต้องหรือเล่นสลับกัน
- เมื่อคลิกการ์ด การ์ดจะเพิ่มขนาดให้มองเห็นได้ชัดเจนขึ้น หากคลิกครั้งที่สองการ์ดจะถูกเล่น
- ชื่อผู้เล่นถูกเน้นด้วยตัวอักษรสีขาว
- ผู้เล่นที่จะเล่นต่อไปจะมีกล่องสีแดงล้อมรอบชื่อและการ์ดของตน
- เกมเริ่มต้นด้วยการอนุญาตให้ผู้เล่นเลือกคนตาบอดหรือส่งผ่าน เมื่อผู้เล่นเลือกบลายด์ พวกเขาสามารถลากและวางไพ่จากบลายด์ไปที่/จากมือนั้น เมื่อผู้เลือกได้ไพ่ที่ต้องการแล้ว พวกเขาจะต้องเลือกชุดที่ถูกเรียกจากเมนูแบบเลื่อนลง
- เกมจะตรวจสอบว่าพวกเขามีไพ่ที่เหมาะสมสำหรับชุดที่ถูกเรียก
- การเล่นเริ่มต้นเมื่อผู้เล่นคนแรกเล่นไพ่ใบแรก ผู้เล่นแต่ละคนเล่นไพ่หนึ่งใบและผู้ชนะสำหรับมือจะปรากฏขึ้น คะแนนจะถูกคำนวณและแสดงสำหรับผู้เล่น/ทีมแต่ละคน
- ผู้ชนะของมือเล่นไพ่ใบแรกและผู้เล่นแต่ละคนเล่นไพ่ใบเดียว
- การเล่นจะดำเนินต่อไปจนกว่าจะมีการเล่นไพ่ทั้งหมด
- ผู้ชนะจะถูกกำหนด
- คนต่อไปกลายเป็นเจ้ามือและเริ่มเกมใหม่
ขั้นตอนที่ 4: บทสรุป
นี่เป็นคำสั่งสอนครั้งแรกของฉัน และฉันยินดีรับฟังความคิดเห็นของคุณ อย่างที่ฉันพูดไป นี่เป็นข้อพิสูจน์เกี่ยวกับแนวคิดที่ว่าเกมไพ่สามารถทำได้บนอุปกรณ์ esp8266 มีปัญหานิดหน่อยแต่เล่นได้ ฉันหวังว่าจะแสดงความคิดเห็นและข้อเสนอแนะของคุณ
แนะนำ:
ตัวแปลง Boost ตาม Esp8266 พร้อม UI Blynk ที่น่าทึ่งพร้อมตัวควบคุมคำติชม: 6 ขั้นตอน
ตัวแปลงบูสต์ที่ใช้ Esp8266 พร้อม UI Blynk ที่น่าทึ่งพร้อมตัวควบคุมคำติชม: ในโครงการนี้ ฉันจะแสดงวิธีที่มีประสิทธิภาพและพบได้ทั่วไปในการเพิ่มแรงดันไฟฟ้ากระแสตรง ฉันจะแสดงให้คุณเห็นว่าการสร้างตัวแปลงบูสต์นั้นง่ายเพียงใดด้วยความช่วยเหลือของ Nodemcu มาสร้างมันกันเถอะ นอกจากนี้ยังมีโวลต์มิเตอร์บนหน้าจอและข้อเสนอแนะ
ESP8266/ESP32 Weather Station พร้อม TFT LCD(s): 8 ขั้นตอน
ESP8266 / ESP32 Weather Station พร้อม TFT LCD: สวัสดี! ในคำแนะนำสั้น ๆ นี้ฉันต้องการนำเสนอโครงการ Esp8266 WS ที่สองของฉัน เนื่องจากฉันโพสต์โปรเจ็กต์ ESP แรกของฉัน ฉันจึงอยากทำให้ตัวเองเป็นโปรเจ็กต์ที่สอง ดังนั้นฉันจึงมีเวลาว่างในการทำงานใหม่ซอร์สโค้ดเก่าเพื่อให้ตรงกับความต้องการของฉัน ดังนั้นถ้าคุณไม่รังเกียจฉัน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: 3 ขั้นตอน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: เป็นโปรเจ็กต์เครื่องรับย่านความถี่ทั้งหมด ใช้ห้องสมุด Arduino Si4734 ห้องสมุดนี้มีตัวอย่างมากกว่า 20 ตัวอย่าง คุณสามารถฟัง FM ด้วย RDS สถานี AM (MW) ในพื้นที่ SW และสถานีวิทยุสมัครเล่น (SSB) เอกสารทั้งหมดที่นี่
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: 5 ขั้นตอน
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: Micropython เป็นการเพิ่มประสิทธิภาพของ python และมีขนาดเล็กของ python ซึ่งหมายถึงการสร้างสำหรับอุปกรณ์ฝังตัวซึ่งมีข้อจำกัดด้านหน่วยความจำและใช้พลังงานต่ำ Micropython สามารถใช้ได้กับคอนโทรลเลอร์หลายตระกูล ซึ่งรวมถึง ESP8266, ESP32, Ardui
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน
PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก