Releases: MichaelMrt/ChessPHP
v1.0.1
Enhancements
- added a footer with github contribution link
- made the page responsive -> Smartphone support
Fixes
- moved session_start() to chessgame.php -> fix: logic was not stored in session
- fixed bishop not able to take pieces anymore after making a mistake when refactoring legal bishop move logic
- fixed mistake when castling long as black: Rook was moved on the wrong square on the server side
v.1.0.0
Merge pull request #106 from MichaelMrt/dev REWORK: Update Main
v0.0.1-pre-rework
Unfinished Project
What was left to do
- Left side castling for white
- Right side castling for black
- leftside castling for black
- En passant
Why do I rework the project completly?
You can move pieces and get into check or get checkmated and end the game, but I was very unhappy with the UI experience.
I have started the project with the intention to implement Chess using PHP only. But without the use of Javascript I used html submits and exchange the whole board between the client and user. This causes the page to refresh everytime you submit the move. Sometimes the screen flashes from the reload. I was unhappy with the messy foundation of the code which I developed everything further upon.
While reading the book Clean Codefrom Robert C. Martin I noticed a lot of mistakes and in the end decided to rework the whole project for better readability and UI.
The next release will be implemented with Javascript using AJAX Requests to send data to the server in the background without reloading the page and updating the board dynamically. Maybe I'll even switch to Websockets in the future for a smoother experience.