Updated file
This commit is contained in:
79
README.md
Normal file
79
README.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Chess Application
|
||||
|
||||
A Python-based chess game that supports both a Command-Line Interface (CLI) and a Graphical User Interface (GUI). This project is designed with a modular structure where the core game logic is separated from the UI, making it easier to maintain and extend.
|
||||
|
||||
## Project Structure
|
||||
|
||||
my_chess/ ├── install.sh # Installation script to set up dependencies and create a virtual environment ├── main.py # Entry point that selects between CLI and GUI modes based on command-line arguments └── src/ # Contains the source code for the application ├── init.py # Marks the directory as a Python package ├── game.py # Core chess logic (game state, moves, board management) ├── cli.py # CLI mode implementation for interacting via the terminal └── gui.py # GUI mode implementation using Tkinter
|
||||
|
||||
markdown
|
||||
Copy
|
||||
|
||||
## Features
|
||||
|
||||
- **Modular Design:** Separates game logic from the user interface.
|
||||
- **Dual Modes:** Choose between CLI mode and a Tkinter-based GUI mode.
|
||||
- **Automated Setup:** `install.sh` checks for required dependencies and sets up a dedicated Python virtual environment.
|
||||
- **System-Wide Installation:** Option to install a binary to `/usr/local/bin/chess` for easy access.
|
||||
|
||||
## Requirements
|
||||
|
||||
- **Operating System:** Linux (tested on Ubuntu/Debian)
|
||||
- **Python Version:** Python 3.6 or higher
|
||||
- **Dependencies:**
|
||||
- Python's built-in `venv` module
|
||||
- Tkinter (typically included with Python installations on Linux)
|
||||
- **Privileges:** Sudo privileges for installing system packages via `apt-get`
|
||||
|
||||
## Installation
|
||||
|
||||
1. **Clone the Repository:**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/yourusername/my_chess.git
|
||||
cd my_chess
|
||||
```
|
||||
|
||||
Run the Installation Script:
|
||||
|
||||
```bash
|
||||
./install.sh
|
||||
```
|
||||
The script will:
|
||||
|
||||
Check if required dependencies are installed (and prompt to install if not).
|
||||
|
||||
Create the virtual environment at /lib/python-venvs/chess.
|
||||
|
||||
Set up the necessary directories and permissions.
|
||||
|
||||
Activate the Virtual Environment (if needed):
|
||||
|
||||
```bash
|
||||
source /lib/python-venvs/chess/bin/activate
|
||||
```
|
||||
Usage
|
||||
Running in CLI Mode
|
||||
To start the chess application in command-line mode:
|
||||
|
||||
```bash
|
||||
python main.py
|
||||
```
|
||||
Follow the on-screen instructions to make moves and interact with the game.
|
||||
|
||||
Running in GUI Mode
|
||||
To start the chess application with the graphical interface:
|
||||
|
||||
```bash
|
||||
python main.py --gui
|
||||
```
|
||||
A Tkinter window will open, providing buttons and text displays to interact with the chess game.
|
||||
|
||||
Contributing
|
||||
Contributions are welcome! If you encounter any issues or have suggestions for improvements:
|
||||
|
||||
Fork the repository
|
||||
|
||||
Create a feature branch
|
||||
|
||||
Commit your changes and open a pull request
|
||||
Reference in New Issue
Block a user