Java - Que alguien me diga que esta mal en este codigo por favor

   
Vista:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Que alguien me diga que esta mal en este codigo por favor

Publicado por Tom (1048 intervenciones) el 19/12/2016 15:55:46
¿ Habeis hecho un "Frankenstein" con trozos pegados de respuestas de foros ?
En tablero[][] guardáis 'X' o 'O' ... pero luego en el if comparáis con 1 ó 2 ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar