Files
chess/README.md
klein panic fd39d44f2f Updated file
2025-04-01 09:11:11 -04:00

2.6 KiB

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:
   git clone https://github.com/yourusername/my_chess.git
   cd my_chess

Run the Installation Script:

./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):

source /lib/python-venvs/chess/bin/activate

Usage Running in CLI Mode To start the chess application in command-line mode:

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:

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