Que alguien me diga que esta mal en este codigo por favor
Publicado por sergio (1 intervención) el 19/12/2016 13:48:25
tengo que hacer un trabajo para la universidad. Debo hacer un 3 en raya. Todo va bien, hacemos el tablero, que cada turno le toque a un jugador etc. Pero a la hora de que el programa sepa que la partida este acabada y diga cual es el ganador no nos sale, Le he dado mil vueltas y no hay manera. Paso el codigo y si alguien fuesed tan amable de decirme donde esta el erro os lo agradecería.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import java.util.Scanner;
public class ProyectoFinal {
static void proyecto1(){
Scanner teclado= new Scanner(System.in);
char tablero[][]= {{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}};
int fichas=0;
int fila,columna;
String posicion;
char jugador1= 'X';
char jugador2= 'O';
boolean acabada=false;
char ganador;
System.out.println("Comenzará a jugar el Tic-Tac-Toe. Comienza X y a continuación 0 hasta que termine la partida. Podrá seguir jugando las partidas que desee.");
System.out.println("A continuación indique jugador X la posición que desea ocupar teniendo en cuenta que el tablero es de 3x3");
do{
for(fichas=0;fichas<9;fichas++){
System.out.println(" =============\n " + "| " + tablero[0][0] + " | " + tablero[0][1] +" | "
+ tablero[0][2] + " | ");
System.out.println(" =============\n " + "| " + tablero[1][0] + " | " + tablero[1][1] +" | "
+ tablero[1][2] + " | ");
System.out.println(" =============\n " + "| " + tablero[2][0] + " | " + tablero[2][1] +" | "
+ tablero[2][2] + " | " + "\n" + " =============");
System.out.println("Fichas introducidas: " + fichas);
if(fichas%2==0){
System.out.println("Por favor, introduzca su jugada jugador X, recuerde que el tablero es de 3x3: ");
posicion=teclado.nextLine();
fila = Integer.parseInt(""+ posicion.charAt(1));
columna = Integer.parseInt(""+ posicion.charAt(3));
tablero[fila-1][columna-1] = jugador1;
}
else{
System.out.println("Por favor, introduzca su jugada jugador O, recuerde que el tablero es de 3x3: ");
posicion=teclado.nextLine();
fila = Integer.parseInt(""+ posicion.charAt(1));
columna = Integer.parseInt(""+ posicion.charAt(3));
tablero[fila-1][columna-1] = jugador2;
}
if((tablero[0][0]==1 && tablero[0][1]==1 && tablero[0][2]==1)||(tablero[1][0]==1 && tablero[1][1]==1 && tablero[1][2]==1)||(tablero[2][0]==1 && tablero[2][1]==1 && tablero[2][2]==1)||(tablero[0][0]==1 && tablero[1][0]==1 && tablero[2][0]==1)||(tablero[0][1]==1 && tablero[1][1]==1 && tablero[2][1]==1)||(tablero[0][2]==1 && tablero[1][2]==1 && tablero[2][2]==1)||(tablero[0][0]==1 && tablero[1][1]==1 && tablero[2][2]==1)||(tablero[2][0]==1 && tablero[1][1]==1 && tablero[0][2]==1)){
acabada=true;
ganador='X';
System.out.println("El ganador es: "+ganador);
}
if((tablero[0][0]==2 && tablero[0][1]==2 && tablero[0][2]==2)||(tablero[1][0]==2 && tablero[1][1]==2 && tablero[1][2]==2)||(tablero[2][0]==2 && tablero[2][1]==2 && tablero[2][2]==2)||(tablero[0][0]==2 && tablero[1][0]==2 && tablero[2][0]==2)||(tablero[0][1]==2 && tablero[1][1]==2 && tablero[2][1]==2)||(tablero[0][2]==2 && tablero[1][2]==2 && tablero[2][2]==2)||(tablero[0][0]==2 && tablero[1][1]==2 && tablero[2][2]==2)||(tablero[2][0]==2 && tablero[1][1]==2 && tablero[0][2]==2)){
acabada=true;
ganador='O';
System.out.println("El ganador es: "+ganador);
}
}
}
while(acabada=false);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
proyecto1();
}
}
Valora esta pregunta
0