Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anomaly2104/chess-low-level-system-design
Repository contatining the low level system design of Chess.
https://github.com/anomaly2104/chess-low-level-system-design
chess design-pattern design-patterns design-patterns-java design-principles interview interview-questions lld low-level-design low-level-design-problems object-oriented-programming oops oops-in-java system-design
Last synced: 2 months ago
JSON representation
Repository contatining the low level system design of Chess.
- Host: GitHub
- URL: https://github.com/anomaly2104/chess-low-level-system-design
- Owner: anomaly2104
- Created: 2020-07-16T19:21:12.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-19T05:39:32.000Z (9 months ago)
- Last Synced: 2024-08-04T00:03:33.976Z (6 months ago)
- Topics: chess, design-pattern, design-patterns, design-patterns-java, design-principles, interview, interview-questions, lld, low-level-design, low-level-design-problems, object-oriented-programming, oops, oops-in-java, system-design
- Language: Java
- Homepage:
- Size: 34.2 KB
- Stars: 125
- Watchers: 3
- Forks: 78
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- Android-Resource - Chess - low level system design
README
# Chess - Low level system design ![Build status](https://travis-ci.org/anomaly2104/chess-low-level-system-design.svg?branch=master)
## Video Explanation
[https://youtu.be/RVHNcng0oF0](https://youtu.be/RVHNcng0oF0)## Problem Statements
[Problem Statement](problem-statement.md)## Connect with me and my offerings:
https://enginebogie.com/u/anomaly2104## LLD Cohort:
https://enginebogie.com/u/anomaly2104/offerings/PATH/e6cce7f1-6a56-4fe3-bb82-48e1876e4596## Multi-threading Cohort:
https://enginebogie.com/u/anomaly2104/offerings/PATH/e9522ac1-4e4c-4217-92ba-f691f34c321b## Further enhancements
* Implement checkmate feature.
* Write more unit tests.
* Support special move of pawn where it can go diagonal when it kills.
* At many places, we are evaluating conditions like:
* **OR Operation**: We are allowed to do something if any condition out of given conditions fulfill.
* **And Operation**: We are allowed to do something if all conditions fulfill.
Try to improve the design for this.
* Add history of moves for each player.
* Add support for casteling move.
* Can we remove putting currentCell in Piece? How about introducing something like position?
* A piece will have a position and you can always get the cell back from board using this position.