Skip to content

Command-line chess written in object-orientated modern C++ using only the Standard Library.

License

Notifications You must be signed in to change notification settings

tjkuson/chess-cpp

Repository files navigation

Chess CLI

CMake Badge Codacy Badge

This is a cross-platform command-line chess game written in object-orientated modern C++ using only the Standard Library. It aims to demonstrate the implementation of advanced C++ code features. Users are free to study, modify, and redistribute the source code as per the software licence.

Setup

GCC and G++

To compile and execute using GCC and G++, run the following.

cd ../src
g++ [TODO: add compilation] 
./../bin/main.out

Game functionality

  • Move validation
  • Check and checkmate
  • Castling

To-do

  • En passant
  • Save and load games
  • AI opponent
  • Custom starting conditions

Code features

  • Source code organization (headers, class files, namespaces)
  • Dynamic memory allocation (and garbage collection)
  • Smart pointers
  • Exception handling - Use of the Standard Library (for example, use of container classes)
  • Lambda expressions (anonymous functions)

Note: files are referred to as columns (cols) in the code to avoid confusion with the file system.

To-do

  • Move semantics
  • Templates
  • Substantial input/output interface, namely reading and writing to storage

Licence

This project is distributed under the GNU GPL version 3.

© 2023 Tom Kuson

About

Command-line chess written in object-orientated modern C++ using only the Standard Library.

Topics

Resources

License

Stars

Watchers

Forks