Chess Game With AI PHP ScriptChess Game With AI PHP Script
Chess game with AI and room hosting feature. There are 4 levels of AI. And hosting room must include a password Average rating of 4.8 based on 19 votesChess Game With AI PHP Script
Chess game with AI and room hosting feature. There are 4 levels of AI. And hosting room must incl... Average rating of 4.8Overview
This product is built for PHP/MySQL web developers, who are passionate about creating a Chess game for online playing.
There are 6Â options: Play alone, Play with AI, Play in room, Watch the rooms and Set up the board
- Play alone: Players press on the button "PLAY ALONE" on the front page and practice with friend.
- Play with AI: Players play directly on the front page. There are 4 levels: Newbie, Easy, Normal, and Hard.
- Play in room: Players press on the button "START", host a new room with random Room code, and create a password for you and your friend, also capable of Inviting friend to play by sending the link. Players can also access the page "Rooms" to enter a hosted room. Players can choose White Side or Black Side, White moves first.
- Watch the rooms: visitors can go the Rooms' list and choose Watch.
- Set up the board:Â Players press on the link "Set Up". In this option, players can arrange the chess pieces and press "CAPTURE THE BOARD" to challenge friends.
- Compete in the tournament:Â in this mode, you can login to play with other players.
Features
- AI feature with 4 levels: Newbie, Easy, Normal, and Hard. The AI is based on Minimax Alpha Beta algorithm.
- Hosting Room feature: user can host new private room with a password or host a public room with no password.
- Set up board with Board Capture.
- Share Board feature: user can Share the board with others.
- Chat box for Room players.
- Register and login.
Requirements
Server Requirements:
- PHP >= 8
- BCMath PHP Extension
- Ctype PHP Extension
- Fileinfo PHP extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
Instructions
I. Requirements
 - PHP >= 8
 - BCMath PHP Extension
 - Ctype PHP Extension
 - Fileinfo PHP extension
 - JSON PHP Extension
 - Mbstring PHP Extension
 - OpenSSL PHP Extension
 - PDO PHP Extension
 - Tokenizer PHP Extension
 - XML PHP Extension
II. Installation
After you've downloaded the product and extracted the contents from the ZIP package, you can start the installation process.
 1/ Importing the database
 - Create a new MySQL database (optional).
 - Create a new MySQL username and password (optional).
 - Import the Database.sql file from the MySQL folder into your MySQL database.
 - If you have SSH access, just run 'php artisan migrate' .
 2/ Setting-up and uploading the files
 - With a text editor open the Script/.env and update the values of APP_NAME, APP_URL, DB_DATABASE, DB_USERNAME, DB_PASSWORD with your own information.
 - Upload the contents inside the Script folder on the location where you want the product to be installed at, i.e. root folder (public_html or htdocs or www).
III. Web Server Configuration
 - Apache: You should leave the .htaccess in root folder and public folder as is.
In root folder:
<IfModule mod_rewrite.c> # That was ONLY to protect you from 500 errors # if your server did not have mod_rewrite enabled RewriteEngine On RewriteRule ^(.*)/$ /$1 [L,R=301] # RewriteBase / # NOT needed unless you're using mod_alias to redirect RewriteCond %{REQUEST_URI} !/public RewriteRule ^(.*)$ public/$1 [L] # Direct all requests to /public folder </IfModule>
In public folder:
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
 - Nginx:
server { Â listen 80; Â server_name example.com; Â Â root /srv/example.com/public; Â Â add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; index index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ .php$ { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /.(?!well-known).* { deny all; } }
CHANGE LOG 18th December 2023 - Added Undo feature. 8th December 2023 - Comply to General Data Protection Regulation by removing Email column. 7th December 2023 - Fix typo. 2nd December 2023 - Fix small bugs. - Create new room daily. 1st December 2023 - Fix Rooms's title tag. - Display Rooms' name. 21st August 2023 - Added latest room notifications. 16th July 2023 - Added Membership feature. - Added Preview mode. - Added Players' search feature. - Added History page. - PHP 8.0 or above is required. 10th January 2022 - Added Pawn Promotion - Change Chess board's width and color - Added Resign function 5th April 2022 - Chatting feature - Watching feature - Random room - Public and Private room 27th April 2022 - Fix DB