Programación Java, el backgammon determina ganar o perder
#define MAX_ROW 15
int Map[MAX_LINE][MAX_ROW];
int CheckWin() //devuelve 0 significa que nadie gana , devolver 1 significa que las blancas ganan, devolver 2 significa que las negras ganan
{
int i, j, k
int tmp; > /* Identificar todos los cruces de peatones*/
for(i=0; ilt; MAX_LINE; i )
{
for(j=0; jlt; MAX_ROW-5;j)
{
tmp=Mapa[i][j]
if( tmp != 0)
<; p> {for(k=1;klt;5;k)
if(Map[i][j k] != tmp) /* Juez Map[i ][ j 0] a Map[i][j 4] son todos iguales (y no iguales a 0) */
break
if(k==6)
p>return tmp;
}
}
/* Determina si todas las filas son iguales. */
for(i=0; ilt; MAX_LINE-5; i )
{
for(j=0; jlt; MAX_ROW; j )
{
tmp=Mapa[i][j];
if( tmp != 0)
{
for(k=1;klt;5;k) /* Determinar si Map[i 0][j] a Map[i 4][j] son todos iguales (y no iguales a 0) */
if(Map[i k][j] ! = tmp)
break
if(k==6)
return; tmp;
}
}
}
}
/* Identifica todas las líneas diagonales (apóstrofes) */
for(i=5; ilt; MAX_LINE; i )
{
for(j=0; jlt; MAX_ROW-5; j )
{
tmp=Mapa[i][j];
if( tmp != 0)
{
for(k=1;klt;5;k) /* Determinar si Map[i-0][j 0] a Map[i-4][j 4] son todos iguales (y no iguales a 0) ) * /
if(Map[i-k][j k] ! = tmp)
break
if(k==6)
return tmp;
}
}
Si asigna[i-4][j 4] a asigna[i-0][j 0] ] todo Si es igual (y distinto de 0), se devuelve tmp.
}
}
/* Determinar todas las diagonales (presionar) */
for(i=0; ilt; MAX_LINE- 5; i )<
{
for(j=0; jlt; MAX_ROW-5; j )
{
tmp =Mapa[i][j];
if( tmp != 0)
{
for(k=1;klt;5; k )
if(Map[i k][j k] ! = tmp) /* Determinar si Map[i 0][j 0] a Map[i 4][j 4] son todos iguales (y no iguales a 0) */
break
if(k==6)
return tmp;
}
}
para(k=1;klt;5;k)
para(k=1 ; klt; 5; k k] !) devolver 0;