Added basic piece movement and display, including interpretation of chess coordinates e.g. "e7"
Improved movement system, allowing for multiple directions of move in one go (e.g horse move)
Fixed "F"orward command in move rules.
Made game playable except for taking/checking/checkmates.
So all movement rules are now in, custom movement rules can be defined,
Game is automatically set up and a game loop is present that asks
for moves from alternating players (and enforces the right player
making their move)
Starting set up can also be customised.
-Added avoid square rules (e.g. "Asa3r8" means the piece cannot land on a3 or row 8 during any part of its move)
-Changed config so that custom teams can be defined and used non-destructively
-Fixed board layout
-Game now keeps track of all moves in a list, just need to store information about pieces that were taken in order to allow for reversal of moves
-Added checkmate checking. "Check" does not yet do anything other than allowing for checkmate
-Added check for whether a piece is takeable and whether it is a king or not. Need to allow takeable to be configured.
-Added taking pieces with ability to take friendly pieces if enabled. Need to work on being able to take all pieces encountered in a move for Chess 2
-Fixed squares between diagonal again. It was weird, made it simpler.
-Added moves_where_threatened piece function, allows the piece to check every move it can make where it is under threat by the enemy. Used in checkmate but also could be useful for AI.
-fixed references to global variable "board" which should have been references to local variables
-Changed find_all_moves so that it takes into account alternate takerules and also blocked squares (blocked square checking can be ignored with the ignore variable)
-Made game_loop messages more informative.
-Reformatted config files for easier addition of variables to pieces, less redundancy
-Added all rules for checking
-Fixed multi-movement rules that had no additional limitations not working properly
-Take_all is now functional
-Added ability to return all the squares a piece passes through during a move in check_move and find_move, this was needed to allow for dealing with check
-Fixed indent problem and made sure a piece was takeable before checking if a move to stop a check by taking it is possible