A Move Array Object [move0, move1, move2, moven-1]As I said before, you could place the move array in the board drawer since it will use it, but why? A move array object makes the program much more dynamic. It contains all the information about the moves made in the game and in the future can be transfered to an artificial intelligence module if necessary. A move array object should allow the board to get the moves from it directly and to access its capturing and castling arrays in some way. Any appending of the move array or creation of it should take place within it's class, for example PGN reading. If you understand the concept of the chess game so far, making this class will be a good test for you. The hardest thing I must warn you is counter synchronization. If your counters aren't counting correctly, serious bugs could develop in the program that are hard to find. All of the objects in my move array operate using only the absolute move count. |