Raul T. Crisan
EECS 370, mp7 readme file
Better Battle Simulation Chess

HOW TO PLAY
A user turn is composed of two steps: moving phase and attacking phase. Move your pieces first, then click END USER MOVES button. Then you may attack any of those enemy pieces which are within your pieces' attack range. Click END USER ATTACK when done. The computer will now make its moves.

	PIECES MOVES
        Infantry: 1 square in any direction
        Knights: 1 square in any direction, 2 squares straight ahead
        Archers: 1 square in any direction
        Catapults: 1 square in any direction

        PIECES ATTACKS
        Infantry: can attack 1 square in any direction, double strength
        Knights: can attack 1 square in any direction, quadruple strength
        Archers: can attack any square on its file (column), simple strength
        Catapults: can attack any square on the board, octuple strength
        
	GAME OVER:
        - when one side is annihilated
        - after the 50th move

DEVELOPMENT NOTES
Data Structures - used a 6 x 6 matrix to store the position of the pieces on the board. Negative numbers represent computer pieces, positive numbers represent user pieces, zero represents and empty square. During the computations, after a move or attack, a piece value is multiplied by 10 to keep track of the pieces that have been moved or attacked. Then, immediately prior to the next move, all piece values that have been multiplied by 10 are divided by 10 to restore the original situation.
Algorithm - the AI is fairly simple yet effective. Although no look-ahead is used, the computer pieces are smart enough to fire at any opponents in the firing range. Some of the computer pieces have been given the ability to move so that they increase their chances of firing at an enemy piece. Others select their target based on its value.

KNOWN BUGS OR PROBLEMS: NONE
After thorough testing, I am proud to affirm that the programs functions flawlessly.

CHANGES FROM INITIAL PLAN:
Draw not possible through truce; it now occurs after 50 moves
	- I decided it wasn't easy to come up with an algorithm to determine whether or not 	computer should accept draw.
Trivial changes to piece movements, attacks, and strengths
	- simplification which is designed to ease both coding and user learning curve.
