
5 en raya
Publicado por Joan Josep (5 intervenciones) el 18/04/2014 19:52:48
Muy buenas, mi duda surge al pensar el algoritmo para comprobar si en un tablero 15x15, se ha realizado un 5 en raya, horizontal, vertical o diagonal.
He pensado en hacerlo así :
Aquí solo miro de tratar para el caso en Horizontal, y sí, funciona, pero si pongo otros puntos que no sean horizontales, pero sí a sus alrededores, funciona. Mi pregunta sería: ¿Cómo lo haríais vosotros?
Muchas gracias por anticipado!
He pensado en hacerlo así :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
private boolean Revisar() {
boolean guanyat=false;
int SumaBlanc=0;
int SumaNegre=0;
int Suma=0;
for(int i=0;i<15;i++){
for (int j = 0; j < 4; j++) {
if(TABLERO[i][j+1].OcupadaBlanca==true){
SumaBlanc ++;
}
else if(TABLERO[i][j+1].OcupadaNegra==true){
SumaNegre ++;
}
}
}
if(SumaBlanc==5){
System.out.println("Blanco gana");
guanyat=true;
}
else if(SumaNegre==5){
System.out.println("Negro gana");
guanyat=true;
}
return guanyat;
}
Aquí solo miro de tratar para el caso en Horizontal, y sí, funciona, pero si pongo otros puntos que no sean horizontales, pero sí a sus alrededores, funciona. Mi pregunta sería: ¿Cómo lo haríais vosotros?
Muchas gracias por anticipado!
Valora esta pregunta


0