Autor
|
Tema: pregunta ejercicio java cartas (Leído 12,497 veces)
|
casidus
Desconectado
Mensajes: 39
|
hola, me gustaria saber si me podeis aclarar una cosa, tengo k hacer un programa en java que tiene que tener estas funcionalidades. 1. al ejecutar el programa se ve un tablero con todas las cartas repartidas ordenadas( esta parte mas o menos ya la tengo definida, es una arraid de JLabels con icono) 2. estas cartas se recojen. 3. estas cartas se barajan (esto no se tiene que ver, solo se tienen que mezclar) 4. las cartas se tienen que repartir todas a 4 jugadores.
eso es lo que no logro hacer del todo me gustaria reutilizar la araid de labels, pero no se como, no se donde la tengo que crear para poder retornar el valor, ya que en este ejercicio no puedo usar variables globales.
alguna idea????
algun consejo????
gracias por todo
|
|
|
En línea
|
|
|
|
Flynker
Wiki
Desconectado
Mensajes: 45
Divide y venceras :D
|
amm tal vez exista alguna manera de que las cartas estén almacenadas en un arreglo y después las copies a otro pero utilizando random para que no se copien el mismo dos veces utilizar un if
|
|
|
En línea
|
|
|
|
casidus
Desconectado
Mensajes: 39
|
me podrias decir mas o menos como estructurarlo???? es que acabo de empear con la programacion grafica, y estoy un poco perdido
gracias por todo
|
|
|
En línea
|
|
|
|
Flynker
Wiki
Desconectado
Mensajes: 45
Divide y venceras :D
|
A no te preocupes yo tambien soy nuevo en esto... pero hice esto, talvez te sirva lo hice en Eclipse y las imagenes tienen que estar guardadas donde se almacenan las clases. Se que no es todo.. lo unico que hace es mostrar las cartas (6) en cada lado de la ventada suponiendo que son 4 jugadores, es solo que cada vez que lo ejecutes mostrara cartas distintas a cada jugador, despues de todo no tienen exactamente que revolverse en el codigo fuente, solo mostrar cartas distintas al repartirlas y asi simula que se revolvieron. Este es el link para que descarges las imagenes que utilice http://www.megaupload.com/?d=689WK9PD Solo hay un pequeño detalle que me falto corregir y es que no se por que solo rara vez muestra menos cartas de las que deberia ... haber si alguien que conosca mas tiene alguna idea import javax.swing.JFrame; public class PruebaJuego { public static void main (String args []) { JuegoBarajas juego = new JuegoBarajas(); juego. setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); juego.setSize(1000,775); juego.setVisible(true); } }
import javax.swing.JFrame; import javax.swing.Icon; import javax.swing.JLabel; import javax.swing.ImageIcon; import java.awt.FlowLayout; import java.awt.BorderLayout; import java.awt.GridLayout; import javax.swing.JPanel; import java.util.Random; import java.awt.Color; public class JuegoBarajas extends JFrame { private static final long serialVersionUID = 1L; public JuegoBarajas() { super("Juego de Barajas"); getContentPane (). setBackground(Color. WHITE); final String nombres [] = {"bastos_1s.jpg", "bastos_2s.jpg", "bastos_3s.jpg", "bastos_4s.jpg", "bastos_5s.jpg", "bastos_6s.jpg", "bastos_7s.jpg", "bastos_8s.jpg","bastos_9s.jpg","bastos_10s.jpg","bastos_11s.jpg","bastos_12s.jpg", "copas_1s.jpg","copas_2s.jpg","copas_3s.jpg","copas_4s.jpg","copas_5s.jpg","copas_6s.jpg","copas_7s.jpg","copas_8s.jpg", "copas_9s.jpg","copas_10s.jpg","copas_11s.jpg","copas_12s.jpg", "espadas_1s.jpg","espadas_2s.jpg","espadas_3s.jpg","espadas_4s.jpg","espadas_5s.jpg","espadas_6s.jpg","espadas_7s.jpg", "espadas_8s.jpg","espadas_9s.jpg","espadas_10s.jpg","espadas_11s.jpg","espadas_12s.jpg", "oros_1s.jpg","oros_2s.jpg","oros_3s.jpg","oros_4s.jpg","oros_5s.jpg","oros_6s.jpg","oros_7s.jpg","oros_8s.jpg","oros_9s.jpg", "oros_10s.jpg","oros_11s.jpg","oros_12s.jpg"}; { new ImageIcon(getClass (). getResource(nombres [0])), new ImageIcon(getClass (). getResource(nombres [1])), new ImageIcon(getClass (). getResource(nombres [2])), new ImageIcon(getClass (). getResource(nombres [3])), new ImageIcon(getClass (). getResource(nombres [4])), new ImageIcon(getClass (). getResource(nombres [5])), new ImageIcon(getClass (). getResource(nombres [7])), new ImageIcon(getClass (). getResource(nombres [8])), new ImageIcon(getClass (). getResource(nombres [9])), new ImageIcon(getClass (). getResource(nombres [10])), new ImageIcon(getClass (). getResource(nombres [11])), new ImageIcon(getClass (). getResource(nombres [12])), new ImageIcon(getClass (). getResource(nombres [13])), new ImageIcon(getClass (). getResource(nombres [14])), new ImageIcon(getClass (). getResource(nombres [15])), new ImageIcon(getClass (). getResource(nombres [16])), new ImageIcon(getClass (). getResource(nombres [17])), new ImageIcon(getClass (). getResource(nombres [18])), new ImageIcon(getClass (). getResource(nombres [19])), new ImageIcon(getClass (). getResource(nombres [20])), new ImageIcon(getClass (). getResource(nombres [21])), new ImageIcon(getClass (). getResource(nombres [22])), new ImageIcon(getClass (). getResource(nombres [23])), new ImageIcon(getClass (). getResource(nombres [24])), new ImageIcon(getClass (). getResource(nombres [25])), new ImageIcon(getClass (). getResource(nombres [26])), new ImageIcon(getClass (). getResource(nombres [27])), new ImageIcon(getClass (). getResource(nombres [28])), new ImageIcon(getClass (). getResource(nombres [29])), new ImageIcon(getClass (). getResource(nombres [30])), new ImageIcon(getClass (). getResource(nombres [31])), new ImageIcon(getClass (). getResource(nombres [32])), new ImageIcon(getClass (). getResource(nombres [33])), new ImageIcon(getClass (). getResource(nombres [34])), new ImageIcon(getClass (). getResource(nombres [35])), new ImageIcon(getClass (). getResource(nombres [36])), new ImageIcon(getClass (). getResource(nombres [37])), new ImageIcon(getClass (). getResource(nombres [38])), new ImageIcon(getClass (). getResource(nombres [39])), new ImageIcon(getClass (). getResource(nombres [40])), new ImageIcon(getClass (). getResource(nombres [41])), new ImageIcon(getClass (). getResource(nombres [42])), new ImageIcon(getClass (). getResource(nombres [43])), new ImageIcon(getClass (). getResource(nombres [44])), new ImageIcon(getClass (). getResource(nombres [45])), new ImageIcon(getClass (). getResource(nombres [46])), new ImageIcon(getClass (). getResource(nombres [47])), }; }; int m,n[]; n= new int[100]; int f; for(int i=0 ; i <47; i++) { for(int h = 0;;h++) { f=h; m = random.nextInt(46); if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } f +=1; if(m==n[f]) { continue; } break; } n[i]= m; } z. setBackground(Color. WHITE); z.add(a[n[0]]); z.add(a[n[1]]); z.add(a[n[2]]); z.add(a[n[3]]); z.add(a[n[4]]); z.add(a[n[5]]); y. setBackground(Color. WHITE); y.add(a[n[6]]); y.add(a[n[7]]); y.add(a[n[8]]); y.add(a[n[9]]); y.add(a[n[10]]); y.add(a[n[11]]); x. setBackground(Color. WHITE); x.add(a[n[12]]); x.add(a[n[13]]); x.add(a[n[14]]); x.add(a[n[15]]); x.add(a[n[16]]); x.add(a[n[17]]); w. setBackground(Color. WHITE); w.add(a[n[18]]); w.add(a[n[19]]); w.add(a[n[20]]); w.add(a[n[21]]); w.add(a[n[22]]); w.add(a[n[23]]); } }
|
|
« Última modificación: 27 Septiembre 2011, 14:44 pm por Debci »
|
En línea
|
|
|
|
casidus
Desconectado
Mensajes: 39
|
haber, una cosa, que al menos por el codigo k me enseñas no hace. yo lo que necesito es primero mostrarr todas las cartas en el panel. despues en ese mismo panel, sin cerrarlo, que las cartas se muevan. eso es lo que ahora mismo no se hacer. se crear las labels, por cierto con la mitad de lineas que tu, te paso el codigo para que veas algo mas rapido. pero no se como ponerlas en el panel, ni como hacer que se muevan. { String ruta = "/juego_de_cartas/cards/"; int numero=1; int num = 1; int fila = 0; for (int i=0; i<52;i++){ //// creamos las jlabel cartes [i ]=new javax. swing. JLabel (); /// las ponemos visibles cartes[i].setVisible(true); // posicion de la carta if (num==14) { num = 1; fila+=97; numero = 0; } cartes [i].setBounds(numero, fila,73 ,97 ); numero+=73; ///// imagen de la carta if ((i >=13)&&(i<26)) mazo = "d"; if ((i >=26)&&(i<39)) mazo = "h"; if ((i >=39)) mazo = "s"; if (num>13) num=1; ruta =ruta+num+mazo+".gif"; num++; } return cartes; }
|
|
« Última modificación: 27 Septiembre 2011, 14:44 pm por Debci »
|
En línea
|
|
|
|
Flynker
Wiki
Desconectado
Mensajes: 45
Divide y venceras :D
|
|
|
|
En línea
|
|
|
|
casidus
Desconectado
Mensajes: 39
|
pero una cosa, llamame corto, pero sigo sin entender, como se añaden las imagenes. , pon que mi main es asi: public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { // creo arraid de Jlabel JLabel[] cartas = new JLabel[52]; // añado posicio, imagen y visible cartas = creacartes (cartas); //creo el tablero tablero tablero = new tablero(); // le añado las label, pero no me va no se por que tablero = tablero.cards(cartas, tablero); ////lo muestro, pero sale vacio y con el debuger no sale que la variable tablero tengo label tablero.setVisible(true); } }); }
aqui el codigo de añadir las cartas al tablero public tablero cards(JLabel[] cartas,tablero tablet) {
for (int i =0;i<=51;i++ ) tablet.add(cartas[i]);
return tablet; } que hago mal?????????? gracias por todo
|
|
|
En línea
|
|
|
|
Flynker
Wiki
Desconectado
Mensajes: 45
Divide y venceras :D
|
La verdad no entiendo mucho tu código, no se mucho, voy a ponerme a estudiar lo que desconozco de el y después te digo... pero si ese es todo el código que tienes,lo que te puedo decir es que... 1.- Para poder mostrar algo en una ventana (en este caso imagenes), tienes que tener una clase donde se herede de JFrame y es algo en tu codigo que no encuentro. 2.-Si no es que estoy mal interpretando el código estas tratando de agregar la imagen de las cartas con un for, eso yo ya lo había intentado en el mio y no se por que, pero no funciona, se tienen que agregar individualmente cada JLabel al panel para que se puedan ver. 3.-Cuando logres hacer que se muestren las imágenes en la ventada tienes que tener el setLayout(); para que ahí puedas definir que marco quieres en que se ordenen las imágenes: FlowLayout(); GridLayout(); o BorderLayout(); por que si no todas las imágenes se va a encimar en el centro y por ende solo se va a poder ver al ultima imagen que se agregue. Y si lograste poder ejecutar mi código? por si se pueden ver, lo único que no le agregue es que se movieran. Así se ve http://www.fotolog.com/flynkerBueno voy a internar ahora hacer que se muevan también. Saludos
|
|
|
En línea
|
|
|
|
casidus
Desconectado
Mensajes: 39
|
ok ahora ya consigo que se muestre todo, y tengo ya puesto para que se muevan. ahora solo necesito saber una cosa. como se hace para que se haga una operacion cada x segundos?????
lo digo por que es lo que me falta para que se vea el movimiento, por que si no, va tan rapido que no se ve
gracias por todo
|
|
|
En línea
|
|
|
|
marcelogalarza
Desconectado
Mensajes: 3
|
Disculpen se que es un tema medio viejo pero estoy iniciandome como programador nose si pudueron terminar el juego me serviria de mucho y se los agradeceria un monton!!!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ejercicio Java
Ejercicios
|
incog
|
4
|
8,124
|
13 Noviembre 2005, 03:14 am
por Hadess_inf
|
|
|
ejercicio java
Ejercicios
|
eltiquillo86
|
2
|
6,029
|
21 Marzo 2010, 01:20 am
por eltiquillo86
|
|
|
AYUDA y EJERCICIO - Truco de cartas en C#
.NET (C#, VB.NET, ASP)
|
Edu
|
5
|
7,418
|
22 Diciembre 2010, 20:44 pm
por Edu
|
|
|
Baraja de cartas en java
Java
|
d!lan
|
3
|
10,574
|
14 Julio 2013, 17:37 pm
por opoveda
|
|
|
Código para barajar cartas en Java.
Java
|
JesusIII
|
1
|
8,465
|
17 Noviembre 2015, 20:37 pm
por DarK_FirefoX
|
|