로컬 서버를 실행하려면 하나의 컴퓨터가 필요한 웹 앱입니다. 그런 다음 플레이어는 등록, 로그인 및 메인 게임에 연결할 수 있습니다. 그런 다음 플레이어는 기본 장치(모든 사용자에게 색인 페이지를 표시하는 장치)와 자신의 장치(모바일 장치 선호)에서 자신의 정보를 확인하고 서로 입찰할 수 있습니다.
다음을 사용하여 테스트했습니다.
PHPUnit 5.7.4
포함된 PHP 7.0.8
Composer 1.00-beta2
MySQL 5.7.4
Apache 2.4.18
이는 모든 프로그램이 다운로드/실행되고 있다고 가정하며 Composer 및 PHPUnit을 사용하여 진행하지 않습니다.
모든 스키마는 MySQL/
디렉터에 있습니다.
스키마를 추가하려면(올바른 디렉토리에 있다고 가정):
mysql < MySQL/schema.sql
칩 관리자는 루트 디렉터리에 만들고 저장해야 하는 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 파일은 JSON 형식으로 3개의 매개변수를 반환합니다.
이름 | 설명 | 항상 존재 |
---|---|---|
오류 | 오류 메시지가 있으면 문자열 설명이 반환됩니다. 그렇지 않으면 0이 반환됩니다. | 진실 |
성공 | 거래 성공 여부(0 또는 1) | 진실 |
데이터 | 반환된 데이터입니다. 종종 JSON의 하위 수준이 있습니다. | 거짓 |
진행 중인 게임에 영향을 주거나 현재 게임에 대한 정보를 가져오는 API 호출입니다. 이는 api/game
디렉터리에 저장됩니다.
data['players']
아래 배열에 연결된 모든 플레이어 ID를 가져옵니다.
다음을 포함하여 연결된 모든 플레이어 정보를 얻으십시오.
플레이어 정보는 data['players']
아래에 저장됩니다.
사용자 이름/비밀번호 조합을 기반으로 플레이어에 로그인하고 플레이어를 연결된 것으로 설정합니다.
두 개의 POST
매개변수가 필요합니다.
username
- 로그인할 플레이어의 사용자 이름password
- 플레이어를 확인하기 위한 비밀번호 플레이어가 현재 게임에서 승리했음을 게임에 알려주세요. 그들은 모든 플레이어가 입찰한 모든 칩을 받게 됩니다.
하나의 GET
또는 POST
매개변수가 필요합니다.
ID
- 승리한 플레이어 ID 확인을 위해 data['winner']
아래에 승리한 플레이어 ID를 반환하고 data['chips_won']
아래에 플레이어가 승리한 금액을 반환합니다.
플레이어에 영향을 미치는 API 호출. GET
또는 POST
매개변수로 ID
필요합니다.
플레이어에게 새로운 입찰을 합니다.
추가 GET
또는 POST
매개변수가 필요합니다.
amount
- 플레이어가 베팅하려는 금액 data
아래의 모든 플레이어 정보를 반환합니다.
모든 사용자의 최신 정보를 가져옵니다.
추가 선택적 매개변수를 사용합니다.
needs_update
- 1
로 설정하면 정보를 반환하기 전에 플레이어를 업데이트해야 하는지 확인합니다. data
아래의 모든 플레이어 정보를 반환합니다.
플레이어의 현재 입찰을 0
으로 재설정합니다.
플레이어를 업데이트해야 하는지 확인합니다. 그렇다면 모든 플레이어 정보를 반환하세요.
data['needs_update']
에서 플레이어가 업데이트되었는지 여부와 data['player']
에서 플레이어에 대한 정보를 반환합니다.