ho letto la parte della tua tesi riguardante l'algoritmo MINMAX ma non mi è chiaro in che modo si formano i nodi e come vengono segnati con 1 (vittoria) o -1(sconfitta) attraverso qusto codice:

int MinMax(node, color)
{
if (node è treminale)
return f(node);
else
{
for (ogni figlio son[i] di node)
val[i] = MinMax(son[i], ~color);
if (color == white)
return max(val);
else
return min(val);
}
}

penso si debba creare una funzione f che valuti il nodo come vincente o perdente

p.s.
io ho programmato il mio giochino in python (ma sto pensando di imparare il C e di riscriverlo) utilizzando una matrice composta da liste come campo