Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Step game(TicTac *field, int deep, WHO it, TicTac t){
int i=0;
float rait, koeff = 1 - Koeff[it]*deep;
Step s, r;
s.step = -1;
s.rait = -1000.;
if(deep > DEEPMAX){
s.rait = 0.;
return s;
}
for(i=0; i<NSIZE_I*NSIZE_J; i++){
if( validstep(field, i) ){
field[i] = t;
rait = c4getrait(field, t);
if(rait >= WIN){
field[i] = EMPTY;
s.rait = 100.*koeff;
s.step = i;
return s;
} else if(!isstep(field)){
rait = 0.;
} else {
r = game(field, deep+1, it, (t==Tic)?Tac:Tic);
rait-=(CorrectK[it]*r.rait);
}
if(rait > s.rait){
s.rait = rait;
s.step = i;
}
field[i] = EMPTY;
}
}
s.rait = s.rait*koeff;
return s;
}
Алгоритм минимакс на примере игры «Собери 4 (connect4)»