แอปพลิเคชันเว็บที่ต้องใช้เครื่องหนึ่งเครื่องเพื่อใช้งานเซิร์ฟเวอร์ภายในเครื่อง ผู้เล่นสามารถลงทะเบียน เข้าสู่ระบบ และเชื่อมต่อกับเกมหลักได้ จากนั้นผู้เล่นจะสามารถดูข้อมูลของตนบนอุปกรณ์หลัก (อุปกรณ์สำหรับแสดงหน้าดัชนีแก่ผู้ใช้ทั้งหมด) รวมถึงบนอุปกรณ์ของตนเอง (โดยเฉพาะอุปกรณ์มือถือ) และเสนอราคาต่อกัน
ทดสอบโดยใช้:
PHP 7.0.8
พร้อม PHPUnit 5.7.4
เพื่อรันกรณีทดสอบComposer 1.00-beta2
MySQL 5.7.4
Apache 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']
หรือไม่