Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: Splaze en 7 Mayo 2015, 12:30 PM

Título: [Juego] Crear TAD en partida
Publicado por: Splaze en 7 Mayo 2015, 12:30 PM
Hola,

Hace unos días creé otro tema sobre este mismo proyecto que me está sacando de quicio. El proyecto consiste en hacer un juego de dominó con estos TADs:

Con los consejos que recibí en el otro tema ya tengo la clase que representa una ficha y la clase que representa el montón de fichas (las crea y reparte 7 a cada uno de los dos jugadores)

Clase Ficha

Código (java) [Seleccionar]

public class Ficha {     
   
    private int num1;
    private int num2;
   
    public Ficha(int num1, int num2) {   // Abre constructor
        this.num1 = num1;
        this.num2 = num2;
    }

    public int getNum1() {
        return num1;
    }

    public int getNum2() {
        return num2;
    } 
   
    Ficha ficha1 = new Ficha(0, 0);
    Ficha ficha2 = new Ficha(0, 1);
    Ficha ficha3 = new Ficha(0, 2);
    Ficha ficha4 = new Ficha(0, 3);
    Ficha ficha5 = new Ficha(0, 4);
    Ficha ficha6 = new Ficha(0, 5);
    Ficha ficha7 = new Ficha(0, 6);
    Ficha ficha8 = new Ficha(1, 1);
    Ficha ficha9 = new Ficha(1, 2);
    Ficha ficha10 = new Ficha(1, 3);
    Ficha ficha11 = new Ficha(1, 4);
    Ficha ficha12 = new Ficha(1, 5);
    Ficha ficha13 = new Ficha(1, 6);
    Ficha ficha14 = new Ficha(2, 2);
    Ficha ficha15 = new Ficha(2, 3);
    Ficha ficha16 = new Ficha(2, 4);
    Ficha ficha17 = new Ficha(2, 5);
    Ficha ficha18 = new Ficha(2, 6);
    Ficha ficha19 = new Ficha(3, 3);
    Ficha ficha20 = new Ficha(3, 4);
    Ficha ficha21 = new Ficha(3, 5);
    Ficha ficha22 = new Ficha(3, 6);
    Ficha ficha23 = new Ficha(4, 4);
    Ficha ficha24 = new Ficha(4, 5);
    Ficha ficha25 = new Ficha(4, 6);
    Ficha ficha26 = new Ficha(5, 5);
    Ficha ficha27 = new Ficha(5, 6);
    Ficha ficha28 = new Ficha(6, 6);
   
    public String toString() {   // Abre metodo toString
        return "["+num1+"|"+num2+"]";
    }
   
}


Clase MontonFichas

Código (java) [Seleccionar]

public class MontonFichas {
   
private List<Ficha> fichas;

  public MontonFichas(){
     Ficha ficha;
     for(int i=0; i<7; i++){
        for(int j=0; j<7; j++){
            ficha = new Ficha(i, j);
            fichas.add(ficha);
        }
     }
  }

  public void repartirFichas(Jugador j1, Jugador j2){
     repartir(j1);
     repartir(j2);
  }

  private void repartir(Jugador j1){
     int random = 0;
     Ficha fichaAleatoria = null;
     for(int i=0; i<7; i++){
        random = new Random().nextInt(getFichasRestantes());
        fichaAleatoria = this.fichas.get(random);       
        j1.darFicha(fichaAleatoria);
        this.fichas.remove(random);
     }
  }

  private int getFichasRestantes(){
     return this.fichas.length();
  }
   
}



Ahora me toca crear un objeto para cada jugador (serían 2 jugadores humanos) pero no encuentro forma, a ver si alguien me puede ayudar  :-(
Título: Re: [Juego] Crear TAD en partida
Publicado por: PabloPbl en 7 Mayo 2015, 16:51 PM
Lo que puedes hacer es una clase llamada Jugador, y allí meterle todos los atributos y métodos necesarios.

Y desde tu clase principal, crear 2 objetos de la clase "Jugador" e interactuar con ellos.
Título: Re: [Juego] Crear TAD en partida
Publicado por: Splaze en 7 Mayo 2015, 20:08 PM
¿Pero qué datos atributos podría ponerle? Estoy más perdido que un pulpo en un garaje  :o
Título: Re: [Juego] Crear TAD en partida
Publicado por: PabloPbl en 7 Mayo 2015, 20:19 PM
Jaja, pues no me acuerdo como se juega al domino, pero puedes ponerle un atributo:

Ficha actual y bueno cosas así.

Y métodos como
getFicha()
setFicha()

Saludos!