**fig10_67.txt** /* 1*/ void /* 2*/ Find_Human_Move( Board_Type & Board, int & Best_Move, int & Value ) /* 3*/ { /* 4*/ int Dc, i, Response; // Dc means don't care. /* 5*/ if( Full_Board( Board ) ) /* 6*/ Value = Draw; /* 7*/ else /* 8*/ if( Immediate_Win( Board, Best_Move, Human ) ) /* 9*/ Value = Comp_Loss; /*10*/ else /*11*/ { /*12*/ Value = Comp_Win; /*13*/ for( i = 1; i <= 9; i++ ) // Try each square. /*14*/ { /*15*/ if( Is_Empty( Board, i ) ) /*16*/ { /*17*/ Place( Board, i, Human ); /*18*/ Find_Comp_Move( Board, Dc, Response ); /*19*/ Unplace( Board, i ); // Restore board. /*20*/ if( Response < Value ) // Update best move. /*21*/ { /*22*/ Value = Response; /*23*/ Best_Move = i; /*24*/ } /*25*/ } /*26*/ } /*27*/ } /*28*/ }