Lunes 23 de Diciembre de 2024, 03:25
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Java
(Moderador:
arielb
) »
Juego Ahorcado
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Juego Ahorcado (Leído 3455 veces)
Snyflex
Nuevo Miembro
Mensajes: 1
Juego Ahorcado
«
en:
Sábado 10 de Octubre de 2009, 19:42 »
0
Hola a todos!!!
Soy un poco nuevo en el mundo de Java, y por tanto necesito ayuda con los eventos.
Mi Objetivo es Hacer un juego del ahorcado, en el cual cuando elija una letra del JComboBox y Pulse el Boton Aceptar, si la letra del String que mande por el jComboBox es igual a una de las letras te la palabra que debo terminar, se colocara arriba en el Label Palabra, si no coincide con ninguna letra de la palabra, la imagen que esta cargada, se cambiara por otra en la que ya aparece la cabeza de el ahorcado (como en el juego). Cuando llegue a 6 intentos fallidos, ya se habran cargado todas las imagenes (en total 6) y se abrira un mensaje de dialogo que me dira que eh perdido.
En el panel
Mensajes
me mostrara mi estado, es decir como voy en el juego, si acierto me dice juegue otra letra, si no acierto me dice intente con otra letra, y esa misma letra se visualizara en el panel
Intentos
, cuando Gane el juego, en Mensaje me dira has Ganado y en un cuadro de dialogo tambien
Un menu para reiniciar el Juego o para salir.
Adjunto el codigo que eh hecho para que vean donde estoy varado... y es mas en los eventos
Código: Java
import
javax.swing.*
;
import
javax.swing.JLabel.*
;
import
java.awt.event.*
;
import
java.awt.*
;
public
class
Sistema
extends
JFrame
{
private
JLabel
label1
;
private
JLabel
label2
;
private
JLabel
label3
;
private
JLabel
label4
;
private
JLabel
label5
;
private
JTextField
intentos
;
private
JMenuBar
menbar
;
private
ImageIcon
imagen
;
private
JMenu
menu1
;
private
JButton
acepbut
;
private
JComboBox
letras
;
public
Sistema
(
)
{
//Prueba de Boton
JButton
but
=
new
JButton
(
"Prueba"
)
;
//Creacion del Label para "Letras"
label3
=
new
JLabel
(
"Letras:"
)
;
label3.
setBounds
(
new
Rectangle
(
10
,
155
,
100
,
75
)
)
;
//Creacion del Label para "Palabra"
label1
=
new
JLabel
(
"Palabra:"
)
;
label1.
setBounds
(
new
Rectangle
(
10
,
-
5
,
100
,
75
)
)
;
//Creacion del Label para "Intentos"
label2
=
new
JLabel
(
"Intentos:"
)
;
label2.
setBounds
(
new
Rectangle
(
10
,
93
,
96
,
37
)
)
;
//Creacion del Label para "Mensajes:"
label4
=
new
JLabel
(
"Mensajes:"
)
;
label4.
setBounds
(
new
Rectangle
(
10
,
260
,
411
,
45
)
)
;
//Creacion del Label para las imagenes
imagen
=
new
ImageIcon
(
"imagenes/1.gif"
)
;
label5
=
new
JLabel
(
imagen
)
;
label5.
setBounds
(
new
Rectangle
(
215
,
70
,
219
,
214
)
)
;
//Creacion del JTextField del label Intentos
JTextField
intentos
=
new
JTextField
(
10
)
;
intentos.
setEditable
(
false
)
;
//Creacion de un JMenuBar
menbar
=
new
JMenuBar
(
)
;
//Creacion de JMenu1
menu1
=
new
JMenu
(
"Tools"
)
;
menbar.
add
(
menu1
)
;
//Anado el menu al menu Bar
// Creacion del Boton Aceptar
acepbut
=
new
JButton
(
"Aceptar"
)
;
acepbut.
setBounds
(
new
Rectangle
(
75
,
210
,
80
,
40
)
)
;
//Lo del Evento
Aceptar acepObject
=
new
Aceptar
(
)
;
acepbut.
addActionListener
(
acepObject
)
;
/*Manejador del evento del Boton Aceptar
public void actionPerformed(ActionEvent event) {
acepbut.setText("Me has aceptado");
} */
//Creacion del ComboBox para las letras que jugaran las palabras
letras
=
new
JComboBox
(
)
;
letras.
setModel
(
new
javax.
swing
.
DefaultComboBoxModel
(
new
String
[
]
{
"A"
,
"B"
,
"C"
,
"D"
,
"E"
,
"F"
,
"G"
,
"H"
,
"I"
,
"J"
,
"K"
,
"L"
,
"M"
,
"N"
,
"O"
,
"P"
,
"Q"
,
"R"
,
"S"
,
"T"
,
"U"
,
"V"
,
"X"
,
"Y"
,
"Z"
}
)
)
;
/* letras.addItem("A"); //Empiezo a agregar las letras "Solo para Suponer"
letras.addItem("B");
letras.addItem("C");
letras.addItem("D");
letras.addItem("E");
letras.addItem("F");
letras.addItem("G");
letras.addItem("H");
letras.addItem("I");
letras.addItem("J");
letras.addItem("K");
letras.addItem("L");
letras.addItem("M");
letras.addItem("N");
letras.addItem("O");
letras.addItem("P");
letras.addItem("Q");
letras.addItem("R");
letras.addItem("S");
letras.addItem("T");
letras.addItem("U");
letras.addItem("V");
letras.addItem("W");
letras.addItem("X");
letras.addItem("Y");
letras.addItem("Z"); */
letras.
setBounds
(
new
Rectangle
(
32
,
220
,
40
,
20
)
)
;
JFrame
ventana
=
new
JFrame
(
"El Ahorcado"
)
;
ventana.
getContentPane
(
)
.
setLayout
(
null
)
;
ventana.
getContentPane
(
)
.
add
(
BorderLayout
.
WEST
, label1
)
;
ventana.
getContentPane
(
)
.
add
(
BorderLayout
.
WEST
, label2
)
;
ventana.
getContentPane
(
)
.
add
(
BorderLayout
.
WEST
, label3
)
;
ventana.
getContentPane
(
)
.
add
(
BorderLayout
.
WEST
, label4
)
;
ventana.
getContentPane
(
)
.
add
(
BorderLayout
.
CENTER
, label5
)
;
ventana.
getContentPane
(
)
.
add
(
intentos
)
;
ventana.
getContentPane
(
)
.
add
(
menbar,
BorderLayout
.
NORTH
)
;
ventana.
getContentPane
(
)
.
add
(
letras
)
;
ventana.
getContentPane
(
)
.
add
(
acepbut
)
;
JFrame
.
setDefaultLookAndFeelDecorated
(
true
)
;
ventana.
setSize
(
500
,
400
)
;
ventana.
setVisible
(
true
)
;
ventana.
setDefaultCloseOperation
(
JFrame
.
EXIT_ON_CLOSE
)
;
}
class
Aceptar
implements
ActionListener
{
public
void
actionPerformed
(
ActionEvent
event
)
{
}
}
}
Y aqui se encuentra el Main
Código: Java
import
javax.swing.*
;
import
javax.swing.JLabel.*
;
import
java.awt.event.*
;
import
java.awt.*
;
public
class
Ingreso
{
public
static
void
main
(
String
[
]
args
)
{
Sistema aplicacion
=
new
Sistema
(
)
;
}
}
Mi Mayor problema radica en que no se como hacer que las cosas cambien en mi frame cuando pulso un JButton.
Algunos amigos me dicen que primero trate de hacer la logica del Programa y luego pase a lo grafico, pero considero que como que no tiene sentido eso que me dicen...
En fin, si me pudieran ayudar con esto lo agradeceria bastante.
No quiero que terminen el codigo, sino que me encaminen en buena forma ya que este es todo un nuevo mundo para mi.
Gracias!!
Tweet
gophlb
Visitante
Re: Juego Ahorcado
«
Respuesta #1 en:
Sábado 10 de Octubre de 2009, 21:41 »
0
si tienes un jbutton, le tienes que pasar un ActionListener, y tienes dos opciones (entre otras muchas, seguro):
- que tu ActionListener sea el propio panel, implemente los metodos de ActionListener pertinentes y haga lo que deba hacer con los demas objetillos de tu panel
- que tu ActionListener sea una clase aparte, que maneja los objetos del panel (que es como lo tienes tu)
yo personalmente apostaria por la opcion 1, para evitarte andar pasando referencias y porque el contenedor deberia ocuparse de distribuir eventos de sus hijos, no una clase externa.
no se si me he explicado correctamente (es mas que posible que no), pero en resumen:
El panel que alberga los textfield, jbutton y demas, implementa la interfaz ActionListener y tiene un metodo actionPerformed(ActionEvent e) en el que hace lo que tenga que hacer (es decir, te sobra la clase Aceptar)
y ya esta
sobre como cambiar los valores de las cosas...eso ya es programacion basica y mirar los javadoc correspondientes o ejemplos por ahi.
como consejo ultimo, revisa las variables que tienes como globales y quita las que no sean necesarias. a veces es mejor pasarlos como parametros que tenerlos como variables globales. y a veces ocurre que tienes puestas 3000 variables globales que realmente no lo son (y no digo que sea tu caso, solo que revises por si acaso)
pd: si alguien opina que no es un buen consejo algo de lo dicho anteriormente...que lo comente
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Java
(Moderador:
arielb
) »
Juego Ahorcado