dorkhub

command-line-chess

A python program to play chess against an AI in the terminal.

marcusbuffett
Python534181 forksMITupdated 3 months ago
git clone https://github.com/marcusbuffett/command-line-chess.gitmarcusbuffett/command-line-chess

Run on Repl.it

command-line-chess

MIT License Maintenance made-with-python PRs Welcome PyPI download month PyPi version GitHub issues GitHub watchers GitHub stars

A python program to play chess against an AI in the terminal.

Also check out my other project, a chess training site.

Features

  • Play chess against an AI in the terminal
  • Two player mode (run chess --two to enter)
  • possible commands:
    • a3, Nc3, Qxa, etc: make a move
    • l: prints every legal move
    • r: make a random move
    • u: undo your last move
    • quit: resign the current game
    • gm: prints moves of current game in PGN format
    • ?: help, prints all available commands

Screenshots

Initial State:

Initial

First move:

First move

Installation

Install from PyPI

Just run the following command:

pip install cl-chess

Install from source

  • First clone the repository:
git clone https://github.com/marcusbuffett/command-line-chess
  • navigate into the newly created command-line-chess directory and run:
pip install .

Usage

chess -h        # to see all possible options
usage: chess [-h] [-t] [-w W] [-b B] [-c]

A python program to play chess against an AI in the terminal.

optional arguments:
  -h, --help       show this help message and exit
  -t, --two        to play a 2-player game (default: False)
  -w W, --white W  color for white player (default: white)
  -b B, --black B  color for black player (default: black)
  -c, --checkered  use checkered theme for the chess board (default: False)

Enjoy the game!

Contributing

Contributions are always welcome!

See CONTRIBUTING.mdfor ways to get started.

Please adhere to this project's CODE-OF-CONDUCT.md.

LICENSE

Take a look at the LICENSE file

Authors

Questions, bugs, etc.

Please create an issue.

Technical stuff

The AI is a simple brute-force AI with no pruning. It evaluates a given position by counting the value of the pieces for each side (pawn -> 1, knight/bishop -> 3, rook -> 5, queen -> 9). It will evaluate the tree of moves, and take the path that results in the greatest gain. To learn more, check out my post on how it works.

more like this

meine

meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…

Python50

search

search projects, people, and tags