Foro sobre Java SE > ayuda juego de ludo java
De entrada, este código no es ejecutable, por lo que no es posible ver qué está pasando en ejecución, y menos depurarlo.
Por otra parte, no hay ninguna declaración de layout, con lo que es prácticamente imposible saber qué hace en realidad, en cuanto al posicionamiento real de los componentes.
Buenas Eduardo,
Aunque estaria bien, no podemos procesar tu codigo echandole un vistazo como si fuese Matrix, por lo que necesitamos que al menos este completo y compile para poder depurarlo.
Por otro lado estaria bien que aparte de copiar y pegar tu codigo hagas comentarios sobre lo que quieres hacer (solo dices que es un juego), como lo estas haciendo, cual es para ti el problema y que soluciones has intentado, etc
En resumen, que ayudes a que te ayuden ;-)
Saludos
ok, supongo que entonces estaria bien si les coloco las otras dos clases con las que se ejecuta mi programa:
FIchas.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package datos;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
/**
*
* @author Eduardo
*/
public class Fichas{
JLabel texturaFichas;
public String color;
public Fichas(){
color="";
texturaFichas=new JLabel();
}
public void actualizarFichas(ImageIcon textura, JFrame fLudo) {
texturaFichas.setIcon(textura);
texturaFichas.setVisible(true);
texturaFichas.setSize(25,25);
fLudo.add(texturaFichas);
}
}
Dados.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package datos;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
/**
*
* @author Eduardo
*/
public class Dados implements ActionListener {
int random;
public JButton generarDado;
int turnoJuego_azul=1;
int apunta_azul;
public JLabel Nombre_info=new JLabel();
JLabel Puntos_info=new JLabel();
JLabel Turno_info=new JLabel();
JLabel Intentos_info=new JLabel();
JLabel Tiempo_info=new JLabel();
public int puntosGanados[]=new int[4];
int turnoJuego_amarillo=1;
int apunta_amarillo;
int apunta_verde;
int turnoJuego_verde=1;
int turnoJuego_rojo=1;
int apunta_rojo;
String Nombre[]=new String[6];
public ImageIcon texturaD=new ImageIcon("");
public JLabel texturaDado=new JLabel("");
public int puntos;
public int intentos[]=new int[4];
public int limite;
int turnoID=0;
String[] colores={"Azul","Amarillo","Verde","Rojo"};
String[] coloresHex={"#63bfe1","#f7e22c","#53bf1f","#dd2920"};
public Dados(){
random=0;
puntos=0;
limite=8;
texturaDado=new JLabel(texturaD);
generarDado=new JButton();
}
public void actualizarDado(JFrame fLudo) {
fLudo.add(texturaDado);
texturaDado.setSize(117,119);
texturaDado.setLocation(640,4);
texturaDado.setVisible(true);
texturaDado.setIcon(texturaD);
ImprimirBoton(fLudo);
}
public void RandomTexture(){
random=1+(int)(Math.random()*6);
if(random==1){
texturaD=new ImageIcon(getClass().getResource("/imagenes/juego/dado1.png"));
puntos=1;
if(turnoJuego_azul==0)
apunta_azul=puntos;
else apunta_azul=0;
if(turnoJuego_amarillo==0)
apunta_amarillo=puntos;
else apunta_amarillo=0;
if(turnoJuego_verde==0)
apunta_verde=puntos;
else apunta_verde=0;
if(turnoJuego_rojo==0)
apunta_rojo=puntos;
else apunta_rojo=0;
}
if(random==2){
texturaD=new ImageIcon(getClass().getResource("/imagenes/juego/dado2.png"));
puntos=2;
if(turnoJuego_azul==0)
apunta_azul=puntos;
else apunta_azul=0;
if(turnoJuego_amarillo==0)
apunta_amarillo=puntos;
else apunta_amarillo=0;
if(turnoJuego_verde==0)
apunta_verde=puntos;
else apunta_verde=0;
if(turnoJuego_rojo==0)
apunta_rojo=puntos;
else apunta_rojo=0;
}
if(random==3){
texturaD=new ImageIcon(getClass().getResource("/imagenes/juego/dado3.png"));
puntos=3;
if(turnoJuego_azul==0)
apunta_azul=puntos;
else apunta_azul=0;
if(turnoJuego_amarillo==0)
apunta_amarillo=puntos;
else apunta_amarillo=0;
if(turnoJuego_verde==0)
apunta_verde=puntos;
else apunta_verde=0;
if(turnoJuego_rojo==0)
apunta_rojo=puntos;
else apunta_rojo=0;
}
if(random==4){
texturaD=new ImageIcon(getClass().getResource("/imagenes/juego/dado4.png"));
puntos=4;
if(turnoJuego_azul==0)
apunta_azul=puntos;
else apunta_azul=0;
if(turnoJuego_amarillo==0)
apunta_amarillo=puntos;
else apunta_amarillo=0;
if(turnoJuego_verde==0)
apunta_verde=puntos;
else apunta_verde=0;
if(turnoJuego_rojo==0)
apunta_rojo=puntos;
else apunta_rojo=0;
}
if(random==5){
texturaD=new ImageIcon(getClass().getResource("/imagenes/juego/dado5.png"));
puntos=5;
if(turnoJuego_azul==0)
apunta_azul=puntos;
else apunta_azul=0;
if(turnoJuego_amarillo==0)
apunta_amarillo=puntos;
else apunta_amarillo=0;
if(turnoJuego_verde==0)
apunta_verde=puntos;
else apunta_verde=0;
if(turnoJuego_rojo==0)
apunta_rojo=puntos;
else apunta_rojo=0;
}
if(random==6){
texturaD=new ImageIcon(getClass().getResource("/imagenes/juego/dado6.png"));
puntos=6;
if(turnoJuego_azul==0)
apunta_azul=puntos;
else apunta_azul=0;
if(turnoJuego_amarillo==0)
apunta_amarillo=puntos;
else apunta_amarillo=0;
if(turnoJuego_verde==0)
apunta_verde=puntos;
else apunta_verde=0;
if(turnoJuego_rojo==0)
apunta_rojo=puntos;
else apunta_rojo=0;
}
texturaDado.setIcon(texturaD);
}
public void ImprimirBoton(JFrame fLudo){
fLudo.add(generarDado);
generarDado.setLocation(540,30);
generarDado.setSize(90,20);
generarDado.setVisible(true);
generarDado.setText("LANZAR");
Nombre_info.setVisible(true);
Nombre_info.setLocation(585,147);
Nombre_info.setSize(150,70);
Nombre_info.setForeground(Color.red);
fLudo.add(Nombre_info);
Turno_info.setVisible(true);
Turno_info.setLocation(585,222);
Turno_info.setSize(150,70);
Turno_info.setForeground(Color.red);
fLudo.add(Turno_info);
Puntos_info.setVisible(true);
Puntos_info.setLocation(585,297);
Puntos_info.setSize(150,70);
Puntos_info.setForeground(Color.red);
fLudo.add(Puntos_info);
Intentos_info.setVisible(true);
Intentos_info.setLocation(585,367);
Intentos_info.setSize(150,70);
Intentos_info.setForeground(Color.red);
fLudo.add(Intentos_info);
Tiempo_info.setText("00:00");
Tiempo_info.setVisible(true);
Tiempo_info.setLocation(585,437);
Tiempo_info.setSize(150,70);
Tiempo_info.setForeground(Color.red);
fLudo.add(Tiempo_info);
generarDado.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==generarDado){
RandomTexture();
turnoID++;
if(Nombre[2]==null && Nombre[3]==null){
if(turnoID==1){
puntosGanados[0]+=puntos;
intentos[0]++;
Nombre_info.setText(""+Nombre[0]);
Nombre_info.setForeground(Color.decode(""+coloresHex[0])); //pendiente aqui papa
Turno_info.setText(""+colores[0]);
Turno_info.setForeground(Color.decode(""+coloresHex[0]));
Puntos_info.setText(""+puntosGanados[0]);
Puntos_info.setForeground(Color.decode(""+coloresHex[0]));
Intentos_info.setText(""+intentos[0]);
Intentos_info.setForeground(Color.decode(""+coloresHex[0]));
turnoJuego_amarillo=0;
turnoJuego_azul=1;
}
if (turnoID == 2){
turnoJuego_azul=0;
turnoJuego_amarillo=1;
puntosGanados[1]+=puntos;
intentos[1]++;
Nombre_info.setText(""+Nombre[1]);
Nombre_info.setForeground(Color.decode(""+coloresHex[1]));
Turno_info.setText(""+colores[1]);
Turno_info.setForeground(Color.decode(""+coloresHex[1]));
Puntos_info.setText(""+puntosGanados[1]);
Puntos_info.setForeground(Color.decode(""+coloresHex[1]));
Intentos_info.setText(""+intentos[1]);
Intentos_info.setForeground(Color.decode(""+coloresHex[1]));
}
limite=2;
}
else if(Nombre[2]!=null && Nombre[3]!=null){
if(turnoID==1){
puntosGanados[0]+=puntos;
intentos[0]++;
Nombre_info.setText(""+Nombre[0]);
Nombre_info.setForeground(Color.decode(""+coloresHex[0]));
Turno_info.setText(""+colores[0]);
Turno_info.setForeground(Color.decode(""+coloresHex[0]));
Puntos_info.setText(""+puntosGanados[0]);
Puntos_info.setForeground(Color.decode(""+coloresHex[0]));
Intentos_info.setText(""+intentos[0]);
Intentos_info.setForeground(Color.decode(""+coloresHex[0]));
turnoJuego_rojo=0;
turnoJuego_azul=1;
}
if (turnoID==2){
puntosGanados[1]+=puntos;
intentos[1]++;
Nombre_info.setText(""+Nombre[1]);
Nombre_info.setForeground(Color.decode(""+coloresHex[1]));
Turno_info.setText(""+colores[1]);
Turno_info.setForeground(Color.decode(""+coloresHex[1]));
Puntos_info.setText(""+puntosGanados[1]);
Puntos_info.setForeground(Color.decode(""+coloresHex[1]));
Intentos_info.setText(""+intentos[1]);
Intentos_info.setForeground(Color.decode(""+coloresHex[1]));
turnoJuego_azul=0;
turnoJuego_amarillo=1;
}
if (turnoID==3){
turnoJuego_amarillo=0;
turnoJuego_verde=1;
puntosGanados[2]+=puntos;
intentos[2]++;
Nombre_info.setText(""+Nombre[2]);
Nombre_info.setForeground(Color.decode(""+coloresHex[2]));
Turno_info.setText(""+colores[2]);
Turno_info.setForeground(Color.decode(""+coloresHex[2]));
Puntos_info.setText(""+puntosGanados[2]);
Puntos_info.setForeground(Color.decode(""+coloresHex[2]));
Intentos_info.setText(""+intentos[2]);
Intentos_info.setForeground(Color.decode(""+coloresHex[2]));
}
if(turnoID==4){
turnoJuego_verde=0;
turnoJuego_rojo=1;
puntosGanados[3]+=puntos;
intentos[3]++;
Nombre_info.setText(""+Nombre[3]);
Nombre_info.setForeground(Color.decode(""+coloresHex[3]));
Turno_info.setText(""+colores[3]);
Turno_info.setForeground(Color.decode(""+coloresHex[3]));
Puntos_info.setText(""+puntosGanados[3]);
Puntos_info.setForeground(Color.decode(""+coloresHex[3]));
Intentos_info.setText(""+intentos[3]);
Intentos_info.setForeground(Color.decode(""+coloresHex[3]));
}
limite=4;
}
else if(Nombre[3]==null){
if(turnoID==1){
turnoJuego_azul=1;
turnoJuego_verde=0;
puntosGanados[0]+=puntos;
intentos[0]++;
Nombre_info.setText(""+Nombre[0]);
Nombre_info.setForeground(Color.decode(""+coloresHex[0]));
Turno_info.setText(""+colores[0]);
Turno_info.setForeground(Color.decode(""+coloresHex[0]));
Puntos_info.setText(""+puntosGanados[0]);
Puntos_info.setForeground(Color.decode(""+coloresHex[0]));
Intentos_info.setText(""+intentos[0]);
Intentos_info.setForeground(Color.decode(""+coloresHex[0]));
}
if(turnoID==2){
turnoJuego_azul=0;
turnoJuego_amarillo=1;
puntosGanados[1]+=puntos;
intentos[1]++;
Nombre_info.setText(""+Nombre[1]);
Nombre_info.setForeground(Color.decode(""+coloresHex[1]));
Turno_info.setText(""+colores[1]);
Turno_info.setForeground(Color.decode(""+coloresHex[1]));
Puntos_info.setText(""+puntosGanados[1]);
Puntos_info.setForeground(Color.decode(""+coloresHex[1]));
Intentos_info.setText(""+intentos[1]);
Intentos_info.setForeground(Color.decode(""+coloresHex[1]));
}
if(turnoID==3){
turnoJuego_verde=1;
turnoJuego_amarillo=0;
puntosGanados[2]+=puntos;
intentos[2]++;
Nombre_info.setText(""+Nombre[2]);
Nombre_info.setForeground(Color.decode(""+coloresHex[2]));
Turno_info.setText(""+colores[2]);
Turno_info.setForeground(Color.decode(""+coloresHex[2]));
Puntos_info.setText(""+puntosGanados[2]);
Puntos_info.setForeground(Color.decode(""+coloresHex[2]));
Intentos_info.setText(""+intentos[2]);
Intentos_info.setForeground(Color.decode(""+coloresHex[2]));
}
limite=3;
}
else if(Nombre[2]==null){
if(turnoID==1){
turnoJuego_rojo=0;
turnoJuego_azul=1;
puntosGanados[0]+=puntos;
intentos[0]++;
Nombre_info.setText(""+Nombre[0]);
Nombre_info.setForeground(Color.decode(""+coloresHex[0]));
Turno_info.setText(""+colores[0]);
Turno_info.setForeground(Color.decode(""+coloresHex[0]));
Puntos_info.setText(""+puntosGanados[0]);
Puntos_info.setForeground(Color.decode(""+coloresHex[0]));
Intentos_info.setText(""+intentos[0]);
Intentos_info.setForeground(Color.decode(""+coloresHex[0]));
}
if(turnoID==2){
turnoJuego_amarillo=1;
turnoJuego_azul=0;
puntosGanados[1]+=puntos;
intentos[1]++;
Nombre_info.setText(""+Nombre[1]);
Nombre_info.setForeground(Color.decode(""+coloresHex[1]));
Turno_info.setText(""+colores[1]);
Turno_info.setForeground(Color.decode(""+coloresHex[1]));
Puntos_info.setText(""+puntosGanados[1]);
Puntos_info.setForeground(Color.decode(""+coloresHex[1]));
Intentos_info.setText(""+intentos[1]);
Intentos_info.setForeground(Color.decode(""+coloresHex[1]));
}
if(turnoID==3){
turnoJuego_rojo=1;
turnoJuego_amarillo=0;
puntosGanados[3]+=puntos;
intentos[3]++;
Nombre_info.setText(""+Nombre[3]);
Nombre_info.setForeground(Color.decode(""+coloresHex[3]));
Turno_info.setText(""+colores[3]);
Turno_info.setForeground(Color.decode(""+coloresHex[3]));
Puntos_info.setText(""+puntosGanados[3]);
Puntos_info.setForeground(Color.decode(""+coloresHex[3]));
Intentos_info.setText(""+intentos[3]);
Intentos_info.setForeground(Color.decode(""+coloresHex[3]));
}
limite=3;
}
if(turnoID>=limite) {
turnoID =0;
}
}
}
}
casillas.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package datos;
import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
/**
*
* @author Eduardo
*/
class casillas{
public int posicionx;
public int posiciony;
public int ID;
public int sizex;
public int sizey;
public JButton boton;
public casillas(){
}
public void logic(JFrame fLudo){
boton.setVisible(true);
boton.setSize(sizex,sizey);
boton.setLocation(posicionx,posiciony);
boton.setBackground(Color.decode("#ffeac6"));
boton.setText(""+ID);
fLudo.add(boton);
}
}
todas las referencias a imagenes funcionan buen, en lo que necesito ayuda es a ver su alguien puede ver el porque no se muestran las fichas en donde deben, osea, en las coordenadas que les estoy colocando mediante setLocation, eso esta en mi primer comentario, cada parte tiene un comentario, ej. //movimiento azul... mis fichas no se mueven cuando ocurren la accion de clic al boton "LANZAR" ni tampoco aparecen en donde debieran cuando inicia el juego, aparecen en el pixel 0,0
Buf, penosamente he podido ejecutarlo...
Cuando inicia el tablero ni siquiera intenta crear ni posicionar las fichas porque todos los jugadores estan como inactivos.
Cuando pulsas en lanzar todas las fichas tienen las coordenadas en 0 0 porque no llamas en ningun sitio al metodo posiciones que es el que inicializa estas.
Como has podido tirar tantisimo codigo sin ir probando? No seria mejor que primero empezases con un solo jugador y despues cuando funcione anades el resto?
Un saludo
Necesito un poco de ayuda con el codigo de un juego de java que estoy haciendo como asignacion de la universidad:
<datos>
package datos;
import java.awt.Color;
import java.awt.event.*;
import javax.swing.*;
class Jugador{
Fichas fichas[]=new Fichas[4];
String nombre;
String color;
boolean activo;
boolean casaLlena[]=new boolean[4];
int ID;
int puntos[]=new int[4];
boolean logica;
}
public class principal implements ActionListener{
int x=656,y=387;
public JButton botonLudo=new JButton(new ImageIcon(getClass().getResource("/imagenes/banner_ludo.png")));
public JButton botonChiChe=new JButton(new ImageIcon(getClass().getResource("/imagenes/banner_chiche.png")));
String nombreJuego="Games World - Juegos de Mesa";
JFrame marcoPrincipal=new JFrame(nombreJuego);
// public ImageIcon imagenFondoPrincipal=new ImageIcon("/imagenes/portada_principal.PNG");
// public ImageIcon imagenBotonLudo=new ImageIcon("/imagenes/banner_ludo.png");
// public ImageIcon imagenBotonChiChe=new ImageIcon("/imagenes/banner_chiche.png");
public JLabel fondo=new JLabel(new ImageIcon(getClass().getResource("/imagenes/portada_principal.PNG")));
int pantallax=330;
int pantallay=239;
//contadores
int azc=0,amc=0,vec=0,roc=0;
JFrame fLudo=new JFrame();
JPanel pLudo=new JPanel();
// ImageIcon fondoLudo=new ImageIcon("imagenes/juego/tablero.png");
JLabel fondoTablero=new JLabel(new ImageIcon(getClass().getResource("/imagenes/juego/tablero 3.png")));
Dados dado=new Dados();
JFrame formFrame=new JFrame("Ingrese los datos de los jugadores");
JPanel formPanel=new JPanel();
// ImageIcon formTextura=new ImageIcon("/imagenes/tabla.png");
JLabel formFondo=new JLabel(new ImageIcon(getClass().getResource("/imagenes/tabla_form.png")));
JTextField textCantJugadores=new JTextField("4");
int cantJugadores=0;
JTextField textNombre[];
JButton siguiente=new JButton();
String[] colores={"Azul","Amarillo","Verde","Rojo"};
String[] coloresHex={"#63bfe1","#f7e22c","#53bf1f","#dd2920"};
JButton botonCasilla[]=new JButton[99];
casillas casilla[]=new casillas[99];
int Posicionx[]=new int[99];
int Posiciony[]=new int[99];
Jugador jugadorAzul=new Jugador();
Jugador jugadorAmarillo=new Jugador();
Jugador jugadorVerde=new Jugador();
Jugador jugadorRojo=new Jugador();
Fichas fichasAzul[]=new Fichas[4];
int piazulx[]=new int[4];
int piazuly[]=new int[4];
Fichas fichasAmarillo[]=new Fichas[4];
int piamarillox[]=new int[4];
int piamarilloy[]=new int[4];
Fichas fichasVerde[]=new Fichas[4];
int piverdex[]=new int[4];
int piverdey[]=new int[4];
Fichas fichasRojo[]=new Fichas[4];
int pirojox[]=new int[4];
int pirojoy[]=new int[4];
JButton botonAyuda=new JButton();
JFrame frameAyuda=new JFrame();
JLabel fondoAyuda=new JLabel(new ImageIcon(getClass().getResource("/imagenes/contenido_ayuda.png")));
//ImageIcon texturaAyuda=new ImageIcon("/imagenes/contenido_ayuda.png");
JFrame fChiChe=new JFrame();
JLabel fondoChiChe=new JLabel(new ImageIcon(getClass().getResource("/imagenes/fondo_chiche.png")));
//ImageIcon texturaChiChe=new ImageIcon("/imagenes/fondo_chiche.png");
public void posiciones(){
//PENDIENTE
Posiciony[0]=485; Posicionx[0]=300;
Posiciony[1]=460; Posicionx[1]=300;
Posiciony[2]=435; Posicionx[2]=300;
Posiciony[3]=410; Posicionx[3]=300;
Posiciony[4]=385; Posicionx[4]=300;
Posiciony[5]=360; Posicionx[5]=300;
Posiciony[6]=335; Posicionx[6]=300;
Posiciony[7]=310; Posicionx[7]=290;
Posiciony[8]=290; Posicionx[8]=310;
Posiciony[9]=300; Posicionx[9]=337;
Posiciony[10]=300; Posicionx[10]=362;
Posiciony[11]=300; Posicionx[11]=387;
Posiciony[12]=300; Posicionx[12]=411;
Posiciony[13]=300; Posicionx[13]=437;
Posiciony[14]=300; Posicionx[14]=462;
Posiciony[15]=300; Posicionx[15]=486;
Posiciony[16]=250; Posicionx[16]=486;
Posiciony[17]=200; Posicionx[17]=486;
Posiciony[18]=200; Posicionx[18]=460;
Posiciony[19]=200; Posicionx[19]=436;
Posiciony[20]=200; Posicionx[20]=412;
Posiciony[21]=200; Posicionx[21]=387;
Posiciony[22]=200; Posicionx[22]=362;
Posiciony[23]=200; Posicionx[23]=337;
Posiciony[24]=210; Posicionx[24]=314;
Posiciony[25]=190; Posicionx[25]=290;
Posiciony[26]=161; Posicionx[26]=310;
Posiciony[27]=137; Posicionx[27]=310;
Posiciony[28]=112; Posicionx[28]=310;
Posiciony[29]=87; Posicionx[29]=310;
Posiciony[30]=63; Posicionx[30]=310;
Posiciony[31]=38; Posicionx[31]=310;
Posiciony[32]=13; Posicionx[32]=310;
Posiciony[33]=13; Posicionx[33]=250;
Posiciony[34]=13; Posicionx[34]=190;
Posiciony[35]=38; Posicionx[35]=190;
Posiciony[36]=63; Posicionx[36]=190;
Posiciony[37]=88; Posicionx[37]=190;
Posiciony[38]=120; Posicionx[38]=190;
Posiciony[39]=137; Posicionx[39]=190;
Posiciony[40]=161; Posicionx[40]=190;
Posiciony[41]=190; Posicionx[41]=210;
Posiciony[42]=210; Posicionx[42]=186;
Posiciony[43]=200; Posicionx[43]=161;
Posiciony[44]=200; Posicionx[44]=137;
Posiciony[45]=200; Posicionx[45]=112;
Posiciony[46]=200; Posicionx[46]=87;
Posiciony[47]=200; Posicionx[47]=63;
Posiciony[48]=200; Posicionx[48]=38;
Posiciony[49]=200; Posicionx[49]=13;
Posiciony[50]=250; Posicionx[50]=13;
Posiciony[51]=300; Posicionx[51]=13;
Posiciony[52]=300; Posicionx[52]=38;
Posiciony[53]=300; Posicionx[53]=63;
Posiciony[54]=300; Posicionx[54]=88;
Posiciony[55]=300; Posicionx[55]=112;
Posiciony[56]=300; Posicionx[56]=137;
Posiciony[57]=300; Posicionx[57]=161;
Posiciony[58]=283; Posicionx[58]=186;
Posiciony[59]=310; Posicionx[59]=213;
Posiciony[60]=338; Posicionx[60]=190;
Posiciony[61]=336; Posicionx[61]=190;
Posiciony[62]=362; Posicionx[62]=190;
Posiciony[63]=387; Posicionx[63]=190;
Posiciony[64]=411; Posicionx[64]=190;
Posiciony[65]=436; Posicionx[65]=190;
Posiciony[66]=486; Posicionx[66]=190;
Posiciony[67]=486; Posicionx[67]=250;
//Amarillos
Posiciony[68]=460; Posicionx[68]=250;
Posiciony[69]=436; Posicionx[69]=250;
Posiciony[70]=410; Posicionx[70]=250;
Posiciony[71]=387; Posicionx[71]=250;
Posiciony[72]=362; Posicionx[72]=250;
Posiciony[73]=338; Posicionx[73]=250;
Posiciony[74]=309; Posicionx[74]=250;
Posiciony[75]=280; Posicionx[75]=250;
//Rojos
Posiciony[76]=38; Posicionx[76]=250;
Posiciony[77]=63; Posicionx[77]=250;
Posiciony[78]=88; Posicionx[78]=250;
Posiciony[79]=112; Posicionx[79]=250;
Posiciony[80]=137; Posicionx[80]=250;
Posiciony[81]=162; Posicionx[81]=250;
Posiciony[82]=185; Posicionx[82]=250;
Posiciony[83]=216; Posicionx[83]=250;
//Azules
Posiciony[84]=250; Posicionx[84]=38;
Posiciony[85]=250; Posicionx[85]=62;
Posiciony[86]=250; Posicionx[86]=88;
Posiciony[87]=250; Posicionx[87]=112;
Posiciony[88]=250; Posicionx[88]=137;
Posiciony[89]=250; Posicionx[89]=161;
Posiciony[90]=250; Posicionx[90]=186;
Posiciony[91]=250; Posicionx[91]=215;
//Verdes
Posiciony[93]=250; Posicionx[93]=435;
Posiciony[94]=250; Posicionx[94]=411;
Posiciony[95]=250; Posicionx[95]=386;
Posiciony[96]=250; Posicionx[96]=362;
Posiciony[97]=250; Posicionx[97]=340;
Posiciony[98]=250; Posicionx[98]=308;
Posiciony[99]=250; Posicionx[99]=280;
piazulx[0]=44; piazuly[0]=376;
piazulx[1]=44; piazuly[1]=463;
piazulx[2]=128; piazuly[2]=376;
piazulx[3]=128; piazuly[3]=463;
piamarillox[0]=380; piamarilloy[0]=376;
piamarillox[1]=380; piamarilloy[1]=463;
piamarillox[2]=460; piamarilloy[2]=376;
piamarillox[3]=460; piamarilloy[3]=463;
piverdex[0]=380; piverdey[0]=55;
piverdex[1]=380; piverdey[1]=140;
piverdex[2]=460; piverdey[2]=55;
piverdex[3]=460; piverdey[3]=140;
pirojox[0]=44; pirojoy[0]=55;
pirojox[1]=44; pirojoy[1]=140;
pirojox[2]=128; pirojoy[2]=55;
pirojox[3]=128; pirojoy[3]=140;
}
public void Datos(){
dado.actualizarDado(fLudo);
dado.generarDado.addActionListener(this);
JPanel panelPrincipal=new JPanel();
marcoPrincipal.setSize(pantallax,pantallay);
marcoPrincipal.setVisible(true);
marcoPrincipal.setResizable(false);
marcoPrincipal.setLocationRelativeTo(null);
marcoPrincipal.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fondo.setBounds(0,0,pantallax,pantallay);
panelPrincipal.add(botonLudo);
panelPrincipal.add(botonChiChe);
botonLudo.addActionListener(this);
botonLudo.setVisible(true);
botonLudo.setBounds(15,165,127,43);
//botonLudo.setIcon(imagenBotonLudo);
botonChiChe.setVisible(true);
botonChiChe.setBounds(185,165,127,43);
//botonChiChe.setIcon(imagenBotonChiChe);
botonChiChe.addActionListener(this);
marcoPrincipal.add(botonChiChe);
marcoPrincipal.add(botonLudo);
marcoPrincipal.add(panelPrincipal);
marcoPrincipal.add(fondo);
}
public void formJugadores(){
formFrame.setSize(350,600);
formFrame.setResizable(false);
formFrame.setVisible(true);
formFrame.setAlwaysOnTop(true);
formFrame.setDefaultCloseOperation(formFrame.EXIT_ON_CLOSE);
formFondo.setSize(350,600);
formFondo.setVisible(true);
formFrame.add(textCantJugadores);
textCantJugadores.setSize(100,30);
textCantJugadores.setLocation(180,177);
formFrame.add(siguiente);
siguiente.setSize(100,32);
siguiente.setLocation(240,500);
siguiente.setVisible(true);
siguiente.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
if (textNombre[0].getText().length()>0 && textNombre[1].getText().length()>0){
PintarFichas();
}
}
});
PintarCamposNombre();
formFrame.add(formFondo);
}
public void mostrarJuegoLudo(){
fLudo.setVisible(true);
fLudo.setResizable(false);
fLudo.setTitle(nombreJuego);
fLudo.setSize(800,600);
fLudo.setDefaultCloseOperation(fLudo.EXIT_ON_CLOSE);
fondoTablero.setVisible(true);
fondoTablero.setSize(800,600);
fLudo.add(fondoTablero);
for(int i=0; i<casilla.length; i++){
casilla[i]=new casillas();
botonCasilla[i]=new JButton();
casilla[i].boton=botonCasilla[i];
casilla[i].ID=i;
casilla[i].sizex=25;
casilla[i].sizey=25;
casilla[i].posicionx=Posicionx[i];
casilla[i].posiciony=Posiciony[i];
casilla[i].logic(fLudo);
casilla[i].boton.setVisible(false);
}
for (int i=0; i<4; i++){
jugadorAzul.fichas[i]=new Fichas();
if(jugadorAzul.activo){
jugadorAzul.fichas[i].texturaFichas.setLocation(piazulx[i],piazuly[i]);
jugadorAzul.fichas[i].actualizarFichas(new ImageIcon(getClass().getResource("/imagenes/juego/ficha_azul.png")),fLudo);
//jugadorAzul.fichas[i].texturaFichas.setLocation(piazulx[i],piazuly[i]);
}
jugadorAmarillo.fichas[i]=new Fichas();
if(jugadorAmarillo.activo){
jugadorAmarillo.fichas[i].texturaFichas.setLocation(piamarillox[i],piamarilloy[i]);
jugadorAmarillo.fichas[i].actualizarFichas(new ImageIcon(getClass().getResource("/imagenes/juego/ficha_amarillo.png")),fLudo);
//jugadorAmarillo.fichas[i].texturaFichas.setLocation(piamarillox[i],piamarilloy[i]);
}
jugadorVerde.fichas[i]=new Fichas();
if(jugadorVerde.activo){
jugadorVerde.fichas[i].texturaFichas.setLocation(piverdex[i],piverdey[i]);
jugadorVerde.fichas[i].actualizarFichas(new ImageIcon(getClass().getResource("/imagenes/juego/ficha_verde.png")),fLudo);
//jugadorVerde.fichas[i].texturaFichas.setLocation(piverdex[i],piverdey[i]);
}
jugadorRojo.fichas[i]=new Fichas();
if(jugadorRojo.activo){
jugadorRojo.fichas[i].texturaFichas.setLocation(pirojox[i],pirojoy[i]);
jugadorRojo.fichas[i].actualizarFichas(new ImageIcon(getClass().getResource("/imagenes/juego/ficha_rojo.png")),fLudo);
//jugadorRojo.fichas[i].texturaFichas.setLocation(pirojox[i],pirojoy[i]);
}
}
botonAyuda.setVisible(true);
botonAyuda.setLocation(200,520);
botonAyuda.setSize(100,40);
botonAyuda.setText("AYUDA");
//FALTA EL ICONO DEL BOTON
fLudo.add(botonAyuda);
fLudo.add(pLudo);
}
public void mostrarJuegoChiChe (){
fChiChe.setVisible(true);
fChiChe.setSize(800,600);
fChiChe.setResizable(false);
fChiChe.setTitle(nombreJuego);
fondoChiChe.setVisible(true);
fondoChiChe.setSize(800, 600);
//fondoChiChe.setIcon(texturaChiChe);
//jugarChiChe.setVisible(true);
// jugarChiChe.setIcon(fondoLudo);
// jugarChiChe.setLocation(300,20);
// jugarChiChe.addActionListener(this);
fChiChe.add(fondoChiChe);
//fChiChe.add(jugarChiChe);
}
public void mostrarAyuda(){
frameAyuda.setVisible(true);
frameAyuda.setSize(500,400);
frameAyuda.setAlwaysOnTop(true);
frameAyuda.setResizable(false);
fondoAyuda.setVisible(true);
fondoAyuda.setSize(500, 400);
// fondoAyuda.setIcon(texturaAyuda);
}
@Override
public void actionPerformed(ActionEvent e){
if(e.getSource()==botonAyuda){
mostrarAyuda();
}
if(e.getSource()==botonChiChe){
mostrarJuegoChiChe();
}
if(e.getSource()==botonLudo && !fLudo.isShowing()){
formJugadores();
}
//Movimiento ficha azul
if(e.getSource()==dado.generarDado && dado.turnoJuego_azul==1 && !jugadorAzul.casaLlena[azc]){
if(dado.apunta_azul==1 || dado.apunta_azul==6){
jugadorAzul.puntos[azc]=jugadorAzul.ID;
jugadorAzul.fichas[azc].texturaFichas.setLocation(casilla[jugadorAzul.puntos[azc]].posicionx,casilla[jugadorAzul.puntos[azc]].posiciony);
jugadorAzul.casaLlena[azc]=true;
jugadorAzul.logica=true;
}
}
else if(e.getSource()==dado.generarDado && dado.turnoJuego_azul == 1 && jugadorAzul.casaLlena[azc]){
jugadorAzul.puntos[azc]=jugadorAzul.ID+=dado.apunta_azul;
if(jugadorAzul.puntos[azc]>=69){
jugadorAzul.puntos[azc]=jugadorAzul.puntos[azc]-69;
jugadorAzul.logica=false;
}
if(jugadorAzul.puntos[azc]>6 && !jugadorAzul.logica){
jugadorAzul.puntos[azc]=jugadorAzul.puntos[azc]+40;
jugadorAzul.fichas[azc].texturaFichas.setLocation(casilla[jugadorAzul.puntos[azc]].posicionx,casilla[jugadorAzul.puntos[azc]].posiciony);
if(jugadorAzul.puntos[azc]>=91 && azc<4){
if(azc==3){
JOptionPane.showMessageDialog(null,"Felicidades "+dado.Nombre_info.getText()+",ganaste!!!\nLograste obtener: "+dado.Puntos_info.getText()+"puntos");
}
jugadorAzul.puntos[azc]=57;
jugadorAzul.fichas[azc].texturaFichas.setLocation(casilla[jugadorAzul.puntos[azc]].posicionx,casilla[jugadorAzul.puntos[azc]].posiciony);
jugadorAzul.casaLlena[azc]=false;
jugadorAzul.logica=true;
dado.puntosGanados[0]+=5;//se le agrega 5 puntos a la ficha azul por llegar a su casa
azc++;
jugadorAzul.ID=13;
jugadorAzul.puntos[azc]=jugadorAzul.ID;//
jugadorAzul.fichas[azc].texturaFichas.setLocation(casilla[jugadorAzul.puntos[azc]].posicionx,casilla[jugadorAzul.puntos[azc]].posiciony);
}
jugadorAzul.fichas[azc].texturaFichas.setLocation(casilla[jugadorAzul.puntos[azc]].posicionx,casilla[jugadorAzul.puntos[azc]].posiciony);
}
jugadorAzul.fichas[azc].texturaFichas.setLocation(casilla[jugadorAzul.puntos[azc]].posicionx,casilla[jugadorAzul.puntos[azc]].posiciony);
}
//movimiento amarillo
if(e.getSource()==dado.generarDado && dado.turnoJuego_amarillo==1 && !jugadorAmarillo.casaLlena[azc]){
if(dado.apunta_amarillo==1 || dado.apunta_amarillo==6){
jugadorAmarillo.puntos[amc]=jugadorAmarillo.ID;
jugadorAmarillo.fichas[amc].texturaFichas.setLocation(casilla[jugadorAmarillo.puntos[amc]].posicionx,casilla[jugadorAmarillo.puntos[azc]].posiciony);
jugadorAmarillo.casaLlena[amc]=true;
jugadorAmarillo.logica=true;
}
}
else if(e.getSource()==dado.generarDado && dado.turnoJuego_amarillo == 1 && jugadorAmarillo.casaLlena[amc]){
jugadorAmarillo.puntos[amc]=jugadorAmarillo.ID+=dado.apunta_amarillo;
if(jugadorAmarillo.puntos[amc]>=51){
jugadorAmarillo.puntos[amc]=jugadorAmarillo.puntos[amc]-51;
jugadorAmarillo.logica=false;
}
if(jugadorAmarillo.puntos[azc]>25 && !jugadorAmarillo.logica){
jugadorAmarillo.puntos[amc]=jugadorAmarillo.puntos[amc]+32;
jugadorAmarillo.fichas[amc].texturaFichas.setLocation(casilla[jugadorAmarillo.puntos[amc]].posicionx,casilla[jugadorAmarillo.puntos[amc]].posiciony);
if(jugadorAmarillo.puntos[azc]>=63 && azc<4){
if(amc==3){
JOptionPane.showMessageDialog(null,"Felicidades "+dado.Nombre_info.getText()+",ganaste!!!\nLograste obtener: "+dado.Puntos_info.getText()+"puntos");
}
jugadorAmarillo.puntos[amc]=63;
jugadorAmarillo.fichas[amc].texturaFichas.setLocation(casilla[jugadorAmarillo.puntos[amc]].posicionx,casilla[jugadorAmarillo.puntos[amc]].posiciony);
jugadorAmarillo.casaLlena[amc]=false;
jugadorAmarillo.logica=true;
dado.puntosGanados[0]+=5;//se le agrega 5 puntos a la ficha azul por llegar a su casa
amc++;
jugadorAmarillo.ID=13;
jugadorAmarillo.puntos[azc]=jugadorAmarillo.ID;//
jugadorAmarillo.fichas[azc].texturaFichas.setLocation(casilla[jugadorAmarillo.puntos[amc]].posicionx,casilla[jugadorAmarillo.puntos[amc]].posiciony);
}
jugadorAmarillo.fichas[amc].texturaFichas.setLocation(casilla[jugadorAmarillo.puntos[amc]].posicionx,casilla[jugadorAmarillo.puntos[amc]].posiciony);
}
jugadorAmarillo.fichas[amc].texturaFichas.setLocation(casilla[jugadorAmarillo.puntos[amc]].posicionx,casilla[jugadorAmarillo.puntos[amc]].posiciony);
}
//movimiento verde-REVISAR
if(e.getSource()==dado.generarDado && dado.turnoJuego_verde==1 && !jugadorVerde.casaLlena[vec]){
if(dado.apunta_verde==1 || dado.apunta_verde==6){
jugadorVerde.puntos[vec]=jugadorVerde.ID;
jugadorVerde.fichas[vec].texturaFichas.setLocation(casilla[jugadorVerde.puntos[vec]].posicionx,casilla[jugadorVerde.puntos[vec]].posiciony);
jugadorVerde.casaLlena[vec]=true;
jugadorVerde.logica=true;
}
}
else if(e.getSource()==dado.generarDado && dado.turnoJuego_verde == 1 && jugadorVerde.casaLlena[vec]){
jugadorVerde.puntos[vec]=jugadorVerde.ID+=dado.apunta_verde;
if(jugadorVerde.puntos[vec]>=51){
jugadorVerde.puntos[vec]=jugadorVerde.puntos[vec]-51;
jugadorVerde.logica=false;
}
if(jugadorVerde.puntos[vec]>25 && !jugadorVerde.logica){
jugadorVerde.puntos[vec]=jugadorVerde.puntos[vec]+32;
jugadorVerde.fichas[vec].texturaFichas.setLocation(casilla[jugadorVerde.puntos[vec]].posicionx,casilla[jugadorVerde.puntos[vec]].posiciony);
if(jugadorVerde.puntos[vec]>=63 && vec<4){
if(vec==3){
JOptionPane.showMessageDialog(null,"Felicidades "+dado.Nombre_info.getText()+",ganaste!!!\nLograste obtener: "+dado.Puntos_info.getText()+"puntos");
}
jugadorVerde.puntos[vec]=63;
jugadorVerde.fichas[vec].texturaFichas.setLocation(casilla[jugadorVerde.puntos[vec]].posicionx,casilla[jugadorVerde.puntos[vec]].posiciony);
jugadorVerde.casaLlena[vec]=false;
jugadorVerde.logica=true;
dado.puntosGanados[0]+=5;//se le agrega 5 puntos a la ficha azul por llegar a su casa
vec++;
jugadorVerde.ID=13;
jugadorVerde.puntos[vec]=jugadorVerde.ID;//
jugadorVerde.fichas[vec].texturaFichas.setLocation(casilla[jugadorVerde.puntos[vec]].posicionx,casilla[jugadorVerde.puntos[vec]].posiciony);
}
jugadorVerde.fichas[vec].texturaFichas.setLocation(casilla[jugadorVerde.puntos[vec]].posicionx,casilla[jugadorVerde.puntos[vec]].posiciony);
}
jugadorVerde.fichas[vec].texturaFichas.setLocation(casilla[jugadorVerde.puntos[vec]].posicionx,casilla[jugadorVerde.puntos[vec]].posiciony);
}
//movimiento rojo-REVISAR
if(e.getSource()==dado.generarDado && dado.turnoJuego_rojo==1 && !jugadorRojo.casaLlena[roc]){
if(dado.apunta_rojo==1 || dado.apunta_rojo==6){
jugadorRojo.puntos[roc]=jugadorRojo.ID;
jugadorRojo.fichas[roc].texturaFichas.setLocation(casilla[jugadorRojo.puntos[roc]].posicionx,casilla[jugadorRojo.puntos[roc]].posiciony);
jugadorRojo.casaLlena[roc]=true;
jugadorRojo.logica=true;
}
}
else if(e.getSource()==dado.generarDado && dado.turnoJuego_rojo == 1 && jugadorRojo.casaLlena[roc]){
jugadorRojo.puntos[roc]=jugadorRojo.ID+=dado.apunta_rojo;
if(jugadorRojo.puntos[roc]>=51){
jugadorRojo.puntos[roc]=jugadorRojo.puntos[roc]-51;
jugadorRojo.logica=false;
}
if(jugadorRojo.puntos[roc]>25 && !jugadorRojo.logica){
jugadorRojo.puntos[roc]=jugadorRojo.puntos[roc]+32;
jugadorRojo.fichas[roc].texturaFichas.setLocation(casilla[jugadorRojo.puntos[roc]].posicionx,casilla[jugadorRojo.puntos[roc]].posiciony);
if(jugadorRojo.puntos[roc]>=63 && roc<4){
if(roc==3){
JOptionPane.showMessageDialog(null,"Felicidades "+dado.Nombre_info.getText()+",ganaste!!!\nLograste obtener: "+dado.Puntos_info.getText()+"puntos");
}
jugadorRojo.puntos[roc]=63;
jugadorRojo.fichas[roc].texturaFichas.setLocation(casilla[jugadorRojo.puntos[roc]].posicionx,casilla[jugadorRojo.puntos[roc]].posiciony);
jugadorRojo.casaLlena[roc]=false;
jugadorRojo.logica=true;
dado.puntosGanados[0]+=5;//se le agrega 5 puntos a la ficha azul por llegar a su casa
roc++;
jugadorRojo.ID=13;
jugadorRojo.puntos[roc]=jugadorRojo.ID;//
jugadorRojo.fichas[roc].texturaFichas.setLocation(casilla[jugadorRojo.puntos[roc]].posicionx,casilla[jugadorRojo.puntos[roc]].posiciony);
}
jugadorRojo.fichas[roc].texturaFichas.setLocation(casilla[jugadorRojo.puntos[roc]].posicionx,casilla[jugadorRojo.puntos[roc]].posiciony);
}
jugadorRojo.fichas[roc].texturaFichas.setLocation(casilla[jugadorRojo.puntos[roc]].posicionx,casilla[jugadorRojo.puntos[roc]].posiciony);
}
}
public void PintarFichas(){
for(int i=0;i<4;i++){
if(textNombre[i].getText().length()>0){
JOptionPane.showMessageDialog(null,"Clavando las tablas del tablero...\nEspero un año por favor...");
formFrame.dispose();
mostrarJuegoLudo();
dado.Nombre[i]=textNombre[i].getText();
if(textNombre[2].getText().length()>0){
jugadorAzul.activo=true;
jugadorAzul.casaLlena[i]=false;
jugadorAzul.ID=55;
jugadorAzul.logica=true;
}
if(textNombre[3].getText().length()>0){
jugadorAmarillo.activo=true;
jugadorAmarillo.casaLlena[i]=false;
jugadorAmarillo.ID=5;
jugadorAmarillo.logica=true;
}
jugadorVerde.activo=true;
jugadorVerde.casaLlena[i]=false;
jugadorVerde.ID=21;
jugadorVerde.logica=true;
jugadorRojo.activo=true;
jugadorRojo.casaLlena[i]=false;
jugadorRojo.ID=38;
jugadorRojo.logica=true;
}
}
}
public void PintarCamposNombre() {
cantJugadores=Integer.parseInt(textCantJugadores.getText());
textNombre=new JTextField[cantJugadores];
for(int i=0;i<4;i++){
if(i<4){
textNombre[i]=new JTextField();
formFrame.add(textNombre[i]);
textNombre[i].setSize(150,30);
textNombre[i].setLocation(108,370+(30*i));
textNombre[i].setVisible(true);
textNombre[i].setForeground(Color.decode(""+coloresHex[i]));
textNombre[i].setBackground(Color.decode("#9a5809"));
textNombre[i].setText(""+colores[i]);
}
else if(i>cantJugadores){
i--;
textNombre[i].setVisible(false);
}
}
}
public static void main(String[] args){
principal Principal=new principal();
Principal.Datos();
}
}
mi duda esta aqui, en el for(int i=0;i<4;i++) mi programa deberia colocar las 4 fichas de cada color en las coordenadas que les asigne mediante los arreglos piazulx[],piazuly[] y asi respectivamente, pero en lugar de eso, lo que sucede es que todas mis fichas se ponen en la coordenada 0,0 y eso no me sirve, alli tienen mi codigo a ver si me pueden ayudar, gracias :)