Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
bradwyatt authored Apr 3, 2024
1 parent 3e132e2 commit 56eac81
Showing 1 changed file with 63 additions and 19 deletions.
82 changes: 63 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,74 @@
# Chess
Chess created using pygame but without using any chess-related libraries
Chess GUI is a fully interactive chess game designed for Windows users. Built entirely in Python, this application offers a rich set of features allowing players to experience the classic game of chess without the need for external chess libraries. Whether you're looking to play against the computer, challenge a friend, or simply explore chess strategies, Chess GUI provides an accessible and comprehensive platform for all your chess needs.

## Prerequisites
Python 3.8.8
## Game Description
Chess GUI brings the traditional chess experience to your desktop. The game adheres to the standard rules of chess, including piece movements, checks, and checkmate scenarios, offering an authentic chess-playing experience. With its intuitive interface, players can easily interact with the game, making it suitable for chess enthusiasts of all levels.

```
numpy==1.20.2
pygame==2.0.1
pandas==1.2.3
PySimpleGUI==4.49.0
```
### Key Features:
- Pure Python Implementation: Developed from scratch in Python, ensuring a lightweight and standalone chess experience without the reliance on external chess libraries.
- Standard Chess Rules: Supports all traditional chess rules, including piece-specific movements, checks, checkmates, and stalemates.
- Versatile Play Options: Engage in chess matches against the computer or opt for a human opponent, offering flexibility in gameplay.
- Move Functions: Features the ability to undo moves, providing players with the chance to correct mistakes or reconsider strategies.
- PGN Support: Offers functionalities to save and load game positions, as well as to manage Portable Game Notation (PGN) files, making it easy to review games and learn from past plays.
- Game Properties Management: Allows players to track various aspects of the game such as player names, ratings, and game results, enhancing the competitive aspect of chess.
- Board Customization: Ability to reverse the board layout for a tailored view, alongside drag-and-drop functionality for piece movement, enriches the user interaction.
- Undo Move: Integrates an undo move option to enhance gameplay flexibility, allowing players to easily revert their last move.
- Board Customization and Control:
- Flip Board: Ability to reverse the board's perspective, catering to player preference and strategy planning.
- Reset Board: Easily reset the game to its initial state, facilitating new strategies or starting fresh games.
- Drag-and-Drop Movement: Enhances the user interaction with intuitive piece movement by dragging and dropping on the board.

## Demo
<p align="center">
<img src="https://github.com/bradwyatt/Chess/blob/master/Docs/demo.gif?raw=true" width="500" height="400"></img>
</p>

## Features
Play against CPU\
Game Properties (Manually enter the player names, ELO ratings, etc)\
Save PGN\
Load PGN\
Flip Board\
Reset Board\
Clear Board\
Save Position\
Load Position
## Technical Details

- **Programming Language**: The game is developed in Python.



## Installation and Running the Game

### Running Locally on Your PC

If you want to run the Chess GUI on your local machine, follow these steps:

#### Prerequisites
Ensure you have Python installed on your PC. The Chess GUI is compatible with Python 3.12.1. You can download Python from [python.org](https://www.python.org/downloads/).

#### Clone the Repository
Clone the Chess repository from GitHub to your local machine:
```git clone https://github.com/bradwyatt/Chess.git```

#### Install Dependencies
Navigate to the cloned repository directory and install the required dependencies:
```
cd Chess
pip install -r requirements.txt
```
This will install all the necessary Python packages listed in `requirements.txt`.

#### Run the Game
Finally, run the game using Python:
```
python main.py
```

Now you're all set to enjoy the Chess GUI game on your PC!


## Collaboration and Contributions

I warmly welcome contributions to the Chess GUI and am open to collaboration. Whether you have suggestions for improvements, bug fixes, or new features, please feel free to open an issue or submit a pull request on GitHub.

Additionally, I'm eager to collaborate with other developers and enthusiasts. If you're interested in working together to expand features, optimize code, brainstorm new game ideas, or even embark on new projects, I'd be delighted to hear from you.

For contributions to the Chess GUI:
- Open an issue or submit a pull request on GitHub repository: [Chess](https://github.com/bradwyatt/Chess)

For collaboration and more detailed discussions:
- Contact me at **GitHub**: [bradwyatt](https://github.com/bradwyatt)


0 comments on commit 56eac81

Please sign in to comment.