

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





Chess Game With AI PHP Script
Chess game with AI and room hosting feature. There are 4 levels of AI. And hosting room must incl...





Overview
This product is built for PHP/MySQL web developers, who are passionate about creating a Chess game for online playing.
There are 5 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.
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.
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.
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.
- Edit the text that have the comment "CHANGE HERE".
- 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> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On RewriteCond %{REQUEST_FILENAME} -d [OR] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^ ^$1 [N] RewriteCond %{REQUEST_URI} (.w+$) [NC] RewriteRule ^(.*)$ public/$1 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ server.php </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
10 January 2022
- Added Pawn Promotion
- Change Chess board's width and color
- Added Resign function
5 April 2022
- Chating feature
- Watching feature
- Random room
- Public and Private room
27 April 2022
- Fix DB
Reviews
-
2 months agolubosm PurchasedRating:
-
5 months agoalmeister PurchasedRating:An excellently designed PHP script. Interesting how you implemented the alpha beta pruning instead of relying on available engines. Incidentally, I noticed the game stops after pawn promotion. Otherwise a great product.
-
10 months agoarchie2019 PurchasedRating:
-
Nov 4, 2021
-
Aug 25, 2021gurudharsan PurchasedRating:Good product,
Only If there's a time limit within every move. This will be much more perfect
Category | Scripts & Code / PHP Scripts / Games |
First release | 21 June 2020 |
Last update | 27 April 2022 |
HTML/CSS Framework | Bootstrap |
Software version | PHP 8.0 |
Files included | .php, .css, .html, .sql, Javascript .js |
Database | MySQL 5.x |
Software framework | Laravel |
JavaScript Framework | jQuery |
Tags | php, game, bootstrap, jquery, MySQL, password, scss, setup, ai, room, level, laravel, chess, minimax |