#ifndef PLAYERLIB_H #define PLAYERLIB_H const int fieldSize=8, maxMoves=100; // =fieldHeight=fieldWidth extern unsigned int endgame; extern char enemyc; //initially 0, contains char of enemy's stone extern char ownc; struct cell { char content = '.'; unsigned short int timesVisited = 0; }; struct move { unsigned int turnRow; unsigned int turnCol; }; struct movesList { unsigned int movesNumber = 0; move *list = new move[maxMoves](); //eigentlich maximal 8*8-4 Lösungen, aber manche doppelt? -> Reserve }; struct gameTree{ int evaluation; move nodeMove; gameTree *childMove = NULL; unsigned int numChildMoves=0; }; struct evalMove{ int evaluation; move m; }; //returns the character used for the enemy's stones extern char getEnemyChar(char); //reads the stateBuffer string into a 2d matrix extern int readStateBuffer(char*, cell (*)[fieldSize], unsigned int *, unsigned int *); //iterates through field in all directions, stores moves into movesList int findMoves(cell (*)[fieldSize], movesList *); //returns 1 if move on corner field int isCornerField(move); //returns 1 if move on C or C field int isCOrXField(move); #endif