Dificultad: (2/4) (Medio-Fácil)


Visitas: 1
Fecha: 2009-02-06 20:07:16
El juego del tres en raya para 2 jugadores hecho en java
A continuación comento las clases usadas y el código principal:
Codigo fuente @java- public class Main {
- public Main() {
- }
- Jugador j1,j2;
- String s,s0;
- TresEnRaya partida1,partida2,partida3;
- //Pido nombres
- s = Lector.leerString();
- j1 = new Jugador(s);
- s0 = Lector.leerString();
- j2 = new Jugador(s0);
-
- // Ejecuto 3 partidas del Tres en Raya y genero
- // un numero aleatorio si es 0 juega primero el jugador 1
- // Si es 1 juga primero el 2
-
- partida1 = new TresEnRaya();
- partida1.ejecutar(j1,j2);
- else
- partida1.ejecutar(j2,j1);
-
- partida2 = new TresEnRaya();
- partida2.ejecutar(j1,j2);
- else
- partida2.ejecutar(j2,j1);
-
- partida3 = new TresEnRaya();
- partida3.ejecutar(j1,j2);
- else
- partida3.ejecutar(j2,j1);
-
- if( j1.getNum_partidas() > j2.getNum_partidas())
- if (j2.getNum_partidas() > j1.getNum_partidas())
- if (j1.getNum_partidas() == j2.getNum_partidas())
- }
-
- }
Programado en PaNa-S.com
Clase TresEnRaya:
Codigo fuente @java- public class TresEnRaya {
- // Atributos
-
- // Constructores
- public TresEnRaya() {
- }
-
- // Metodos
- //** Ejecuta una partida de 3 en raya */
- public void ejecutar(Jugador j1, Jugador j2) {
- //Declaro variables y objetos
- boolean sw;
- // La variable turnojugador me va a indiciar a quien le toca tirar
- int turnojugador=1;
- String c;
- Disparo d;
- Tablero t = new Tablero();
-
- //Muestro el tablero
- t.muestrate();
-
- // EL juego se repite mientras el tablero no este lleno (empate) o no haga nadie tres en raya
- do {
- // Compruebo si puedo tirar en la posicion que me pasa y sino pido otras coordenadas
- do {
- //Pide disparo y comprueba que es correcto
- do {
- if (turnojugador == 1)
- else
- c = Lector.leerString();
- if ((c.charAt(0) >= 1 && c.charAt(0) <= 3) && (c.charAt(2) >= 1 && c.charAt(2) <= 3))
- sw=true;
- else
- sw=false;
- }while(sw=false);
-
- // Instancio disparo
- }while(t.compruebaSiSePuedeTirar(d)==false);
-
-
- // Compruebo si despues del tiro a ganado o si el tablero esta lleno
- if ( turnojugador == 1 ){
- t.ponDisparoJ1(d);
- if (t.ganaAlguien(1) == true){
- // Muestra el tablero ganador
- t.muestrate();
- // Muestra el mensaje de que ha ganado
- // aumenta partida ganada y se sale del bucle
- j1.setNum_partidas(j1.getNum_partidas()+1);
- break;
- }
- turnojugador++;
- }else{
- t.ponDisparoJ2(d);
- if (t.ganaAlguien(2) == true){
- // Muestro el tablero ganador
- t.muestrate();
- // Muestro el mensaje de que ha ganado
- // Le aumento una partida ganada
- j2.setNum_partidas(j2.getNum_partidas()+1);
- break;
- }
- turnojugador = 1;
- }
- if (t.estaLleno() == true)
- // Muestro el tablero
- t.muestrate();
- }while(t.estaLleno()==false);
- }
- }
Programado en PaNa-S.com
Toda la lógica del juego se repite hasta que uno de los dos gane, o el tblero este lleno. Primero se muestra el tablero a modo de inicialización, luego se le piden las coordenadas del disparo al jugador que le toque, instancio el disparo, lo pongo en el tablero y por último compruebo el tablero.
El script lo puedes descargar aquí
Tres en raya está en la categoría:
No hay comentarios