¿Pero qué datos atributos podría ponerle? Estoy más perdido que un pulpo en un garaje
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
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+"]";
}
}
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();
}
}
Cita de: PabloPbl en 1 Mayo 2015, 04:41 AM
Perdón por demorar tanto, no estaba en casa.
Bueno volviendo al tema, yo te recomiendo que tu clase Ficha la pongas en otra clase por aparte, pues estuve probando tu código y lo he cambiado un poco, y me ha quedado así:
Y acá la clase Ficha por separado:
Te recomiendo que organices y te acostumbres a hacer tu código mas orientado a objetos.
Espero te sirva para que mas o menos te des una idea de como hacer el juego.
Un saludo!
import java.util.*;
public class PracticaDomino {
public static void main(String[] args) {
MontonFichas main = new MontonFichas();
main.barajar();
}
}
import java.util.*;
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;
}
public String toString() { // Abre metodo toString
return "["+num1+"|"+num2+"]";
}
}
import java.util.ArrayList;
import java.util.Collections;
public class MontonFichas {
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 void barajar() {
ArrayList<Ficha> fichas = new ArrayList<>();
fichas.add(ficha1);
fichas.add(ficha2);
fichas.add(ficha3);
fichas.add(ficha4);
fichas.add(ficha5);
fichas.add(ficha6);
fichas.add(ficha7);
fichas.add(ficha8);
fichas.add(ficha9);
fichas.add(ficha10);
fichas.add(ficha11);
fichas.add(ficha12);
fichas.add(ficha13);
fichas.add(ficha14);
fichas.add(ficha15);
fichas.add(ficha16);
fichas.add(ficha17);
fichas.add(ficha18);
fichas.add(ficha19);
fichas.add(ficha20);
fichas.add(ficha21);
fichas.add(ficha22);
fichas.add(ficha23);
fichas.add(ficha24);
fichas.add(ficha25);
fichas.add(ficha26);
fichas.add(ficha27);
fichas.add(ficha28);
Collections.shuffle(fichas);
for(int i = 0; i < fichas.size(); i++) {
System.out.println(fichas);
}
}
}
for(int i = 0; i < fichas.size(); i++) {
System.out.println(fichas);
}
Cita de: PabloPbl en 30 Abril 2015, 22:02 PM
En que parte de tu código pones esto, en una clase aparte?
List<Ficha> fichas = new ArrayList<>();
fichas.add(ficha1);
fichas.add(ficha2);
fichas.add(ficha3);
fichas.add(ficha4);
...
fichas.add(ficha28);
Collections.shuffle(fichas);
Te has fijado que todas las clases estén en el mismo pakcage?
Cita de: PabloPbl en 30 Abril 2015, 21:35 PM
En la linea del ArrayList prueba con esta linea:ArrayList<Ficha> fichas = new ArrayList<Ficha>();
http://i.gyazo.com/334179bf861b1eb2bd540a4b9c2fc4cc.png
http://i.gyazo.com/6ca0d96f4bc82083495858b7177db603.png
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+"]";
}
List<Ficha> fichas = new ArrayList<>();
fichas.add(ficha1);
fichas.add(ficha2);
fichas.add(ficha3);
fichas.add(ficha4);
...
fichas.add(ficha28);
Collections.shuffle(fichas);