experimental async input for single machine mode

fixed checkmate and completed implementation (more testing is still advised)

NEED TESTING: implemented check and checkmate - TODO: avoid checkmate by moving another piece in between

moved checkmate and stalemate flags to gamestate

introduced single machine mode

implemented king

implemented queen

introduced game state structure

improved network performance

implemented rook + some fixes

added optional alternate config for chess lib

moved chess rules to separate lib

fixed bishop + added pawn promotion + added move log

implemented bishop rules

introduced status codes for get_location to produce detailed error messages + added knight rules

completed pawn rules + bug fixes for 4-char-moves

fixed crucial bug where both players could move at the same time + added pawn rules (TODO: en passant)

completed eval_move

interface for retrieving locations when using short algebraic notation

added network messages for check and checkmate

prepared code base for implementing rules

implemented castling (without validation)

implemented simple pawn movement

implemented chess board and remis/surrender messages

structured code

separated server and client module

exit hook

changed UI to ncurses session + added network handshake

fixed network code + added game info and transmission of game info

added (single) client / server architecture

(0) +30 tip

mercurial