Skip to content

marcusbuffett/command-line-chess

Repository files navigation

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.

About

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

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages