void Reinitialise_nearly_everything(void) { // except 'First_player_was'
// init everything for consistency *and* to ensure a clean restart on next game
Cancel_Request = 0; expected_move = 0; a_win = FALSE; search_limit = 3; SP = 0; VALUEB = 0; NODES = 0;
// most of these probably don't need initialising...
Dim=M=PIECE=DIF=MODIF=MORE=best_piece=best_move=best_take=JMAN=POS=OLDPOS=NEWPOS=LASTPOS=COMPOS=ply_number=expected_move=0;
//A=B=C=0;
STATE = STATE_CHOOSE_FIRST_PLAYER; // should alternate after the first game
STATE_PieceNum = STATE_FromX = STATE_FromY = STATE_ToPos = STATE_ToX = STATE_ToY = STATE_icon_style = 0;
Cursor_X = Cursor_Y = Flash = 0;
REPLY (1) = REPLY (2) = ' '; REPLY (3) = 0x80;
// setting up the pieces
COMP_COLOUR = PLAYER1.COLOUR; OPP_COLOUR = PLAYER2.COLOUR;
COMP_PLAYERNO = PLAYER1.PLAYERNO; OPP_PLAYERNO = PLAYER2.PLAYERNO;
for (P = 1; P <= 12; P++) {
COMP_POS (P) = PLAYER1_POS(P); OPP_POS (P) = PLAYER2_POS(P);
COMP_TYPE (P) = CKTYPE(PLAYER1_TYPE(P)); OPP_TYPE (P) = CKTYPE(PLAYER2_TYPE(P));
}
for (P = 1; P <= MAX_RECURSIVE_DEPTH; P++) {
MAX(P) = MIN(P) = 0;
}
P = 0;
COMP_NUM = PLAYER1.NUM; OPP_NUM = PLAYER2.NUM;
COMP_NUMC = PLAYER1.NUMC; OPP_NUMC = PLAYER2.NUMC;
STATE = STATE_CHOOSE_FIRST_PLAYER;
}