แอปพลิเคชันเว็บที่ต้องใช้เครื่องหนึ่งเครื่องเพื่อใช้งานเซิร์ฟเวอร์ภายในเครื่อง ผู้เล่นสามารถลงทะเบียน เข้าสู่ระบบ และเชื่อมต่อกับเกมหลักได้ จากนั้นผู้เล่นจะสามารถดูข้อมูลของตนบนอุปกรณ์หลัก (อุปกรณ์สำหรับแสดงหน้าดัชนีแก่ผู้ใช้ทั้งหมด) รวมถึงบนอุปกรณ์ของตนเอง (โดยเฉพาะอุปกรณ์มือถือ) และเสนอราคาต่อกัน
ทดสอบโดยใช้:
PHP 7.0.8 พร้อม PHPUnit 5.7.4 เพื่อรันกรณีทดสอบComposer 1.00-beta2MySQL 5.7.4Apache 2.4.18นี่จะถือว่าคุณได้ดาวน์โหลด/รันโปรแกรมทั้งหมดแล้ว และจะไม่ดำเนินการผ่านการใช้ Composer และ PHPUnit
สคีมาทั้งหมดอยู่ในไดเรกทอรี MySQL/
หากต้องการเพิ่มสคีมา (สมมติว่าคุณอยู่ในไดเรกทอรีที่ถูกต้อง):
mysql < MySQL/schema.sql
Chip Manager ขึ้นอยู่กับไฟล์ปรับแต่งของคุณเป็นอย่างมาก ชื่อ config.ini ซึ่งคุณควรสร้างและจัดเก็บไว้ในไดเร็กทอรีราก
โครงสร้างพื้นฐานของไฟล์ปรับแต่งมีลักษณะดังนี้
[database]
username = username
password = password
server = server_address
database = database_name
[information]
address = local_address
logfile = log_file
คุณควรแทนที่ตัวแปรแต่ละตัวเพื่อให้ตรงกับการตั้งค่าของคุณ
หน้าดัชนีจะแสดงรายชื่อทุกคนที่กำลังเล่นอยู่ในขณะนี้ (โดยรับสถานะการเชื่อมต่อ) และแสดงรายการพร้อมกับข้อมูลปัจจุบัน (เช่น ราคาเสนอซื้อปัจจุบัน / ชิปทั้งหมด)
play.php จัดการฝั่งไคลเอ็นต์ของเกมและอนุญาตให้ผู้คนเล่นผ่านเว็บไคลเอ็นต์ที่เหมาะกับมือถือ สิ่งนี้คล้ายกับแอป Android มาก ดังนั้นการสลับระหว่างทั้งสองไม่ควรเป็นปัญหา
หน้าจอหลักจะปรากฏที่ตารางเกมและจะแสดงหน้า index.php
จากนั้นผู้เล่นจะใช้อุปกรณ์ของตนเองในการเข้าถึงเซิร์ฟเวอร์ที่รันเกม ลงทะเบียนโดยใช้ register.php เข้าสู่ระบบโดยใช้ login.php จากนั้นจะถูกเปลี่ยนเส้นทางไปที่ play.php ซึ่งพวกเขาจะสามารถเสนอราคาและเข้าร่วมในเกมได้
เมื่อผู้เล่นทำการเสนอราคา ข้อมูลของพวกเขาจะปรากฏบนหน้าจอหลัก เมื่อผู้เล่นชนะ การคลิก "ผู้เล่นชนะ" จะโอนชิปประมูลทั้งหมดไปยังผู้เล่นนั้น
การเรียก API มีไว้สำหรับแอปพลิเคชันภายนอก (เช่น แอป Android) รวมถึงการใช้งานเกมพื้นฐานบางอย่าง
ไฟล์ php แต่ละไฟล์ส่งคืนพารามิเตอร์ 3 ตัวในรูปแบบของ JSON:
| ชื่อ | คำอธิบาย | นำเสนออยู่เสมอ |
|---|---|---|
| ข้อผิดพลาด | หากมีข้อความแสดงข้อผิดพลาด คำอธิบายสตริงจะถูกส่งกลับ มิฉะนั้น 0 จะถูกส่งกลับ | จริง |
| ความสำเร็จ | ไม่ว่าธุรกรรมจะสำเร็จหรือไม่ (0 หรือ 1) | จริง |
| ข้อมูล | ข้อมูลที่ถูกส่งกลับ มักจะมีระดับย่อยของ JSON | เท็จ |
การเรียก API ที่ส่งผลต่อเกมที่กำลังดำเนินอยู่หรือรับข้อมูลเกี่ยวกับเกมปัจจุบัน สิ่งเหล่านี้ถูกจัดเก็บไว้ในไดเร็กทอรี api/game
รับ ID ผู้เล่นที่เชื่อมต่อทั้งหมดในอาร์เรย์ภายใต้ data['players']
รับข้อมูลผู้เล่นที่เชื่อมต่อทั้งหมด ได้แก่ :
ข้อมูลผู้เล่นจะถูกเก็บไว้ภายใต้ data['players']
เข้าสู่ระบบเครื่องเล่นตามชื่อผู้ใช้ / รหัสผ่านและตั้งค่าเครื่องเล่นว่าเชื่อมต่อแล้ว
ต้องใช้พารามิเตอร์ POST สองตัว:
username - ชื่อผู้ใช้ของผู้เล่นเพื่อเข้าสู่ระบบpassword - รหัสผ่านเพื่อตรวจสอบผู้เล่น ให้เกมรู้ว่าผู้เล่นชนะในเกมปัจจุบัน พวกเขาจะได้รับชิปทั้งหมดที่ผู้เล่นทุกคนเสนอราคา
ต้องมีพารามิเตอร์ GET หรือ POST หนึ่งรายการ:
ID - ID ผู้เล่นที่ชนะ สำหรับการตรวจสอบ จะส่งกลับ ID ผู้เล่นที่ชนะภายใต้ data['winner'] และจำนวนเงินที่ผู้เล่นได้รับภายใต้ data['chips_won']
การเรียก API ที่ส่งผลต่อโปรแกรมเล่น ต้องใช้ ID เป็นพารามิเตอร์ GET หรือ POST
เสนอราคาใหม่สำหรับผู้เล่น
ต้องมีพารามิเตอร์ GET หรือ POST เพิ่มเติม:
amount – จำนวนเงินที่ผู้เล่นต้องการเดิมพัน ส่งคืนข้อมูลผู้เล่นทั้งหมดภายใต้ data
รับข้อมูลปัจจุบันของผู้ใช้ทั้งหมด
รับพารามิเตอร์ทางเลือกเพิ่มเติม:
needs_update - หากตั้งค่าเป็น 1 จะตรวจสอบว่าผู้เล่นจำเป็นต้องอัปเดตหรือไม่ก่อนส่งคืนข้อมูล ส่งคืนข้อมูลผู้เล่นทั้งหมดภายใต้ data
รีเซ็ตการเสนอราคาปัจจุบันของผู้เล่นเป็น 0
ตรวจสอบว่าผู้เล่นจำเป็นต้องได้รับการอัปเดตหรือไม่ หากเป็นเช่นนั้น ให้ส่งคืนข้อมูลผู้เล่นทั้งหมด
ส่งคืนว่าเครื่องเล่นได้รับการอัปเดตภายใต้ data['needs_update'] และข้อมูลเกี่ยวกับเครื่องเล่นภายใต้ data['player'] หรือไม่