20250313 GUI_Ahorcado_2 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
El evento de jugar está entonces.
00:00:00
Ahora nos falta el evento de la letra de usuario.
00:00:03
El evento de la letra de usuario que es este de aquí.
00:00:08
Entonces, el evento de letra de usuario, ¿qué tenemos que hacer?
00:00:13
Coger la letra de usuario.
00:00:16
Comprobar en qué posición está de la palabra aleatoria generada.
00:00:20
en las que esté, colocar esa letra
00:00:27
en el text field
00:00:29
si no está en ninguna, consumir
00:00:30
un intento, y luego añadir
00:00:33
esa letra a mi etiqueta
00:00:35
de letras usadas, por ejemplo
00:00:37
eso, y bueno, y luego si ha
00:00:39
ganado, porque se ha completado la letra
00:00:41
pues avisarle, que esa parte
00:00:43
creo que yo no la tengo, no la tenía
00:00:45
completada, pues venga
00:00:46
lo primero
00:00:49
cogemos la letra del usuario
00:00:49
ala
00:00:53
esta es mi letra
00:00:55
y volvemos a poner el text field donde he metido la letra vacío para que le sea más cómodo jugar.
00:00:56
La cogemos y lo volvemos a poner vacío para que le sea más cómodo jugar.
00:01:03
Ahora, con esta letra, recorremos la palabra posición por posición, recorremos la palabra,
00:01:08
y cada vez que encontremos una posición de mi palabra en la cual se encuentra un carácter igual al carácter que me han dado,
00:01:15
ves aquí que
00:01:26
el carácter que ha metido el tío
00:01:29
yo lo he guardado como string
00:01:31
porque lo he sacado del gettest
00:01:33
entonces para convertirlo en carácter
00:01:34
me tengo que sacar el characero
00:01:37
bueno pues voy posición por posición
00:01:38
de la palabra aleatoria
00:01:41
en cada posición
00:01:43
que me encuentre
00:01:45
en la que hay
00:01:47
un carácter igual al que
00:01:49
ha metido el tío
00:01:51
pues entonces en esa
00:01:52
misma posición de mi text field
00:01:55
en esa misma posición de mi text field
00:01:57
en esa misma, en la i
00:02:00
pongo esa letra
00:02:01
y la estoy poniendo en mayúsculas pues para
00:02:03
que quede más bonito simplemente
00:02:05
pongo esa letra y la pongo en mayúsculas
00:02:07
y además aviso ya
00:02:09
con este boolean de que
00:02:11
ha acertado porque
00:02:13
existe esa letra en la palabra
00:02:15
aviso ya con ese boolean
00:02:17
y luego que es lo que he hecho
00:02:19
pues al label que
00:02:25
tiene las usadas
00:02:26
al label que tiene las usadas, cojo las que ya tenía
00:02:27
de antes, le concateno la letra nueva
00:02:32
y pongo en ese label todo ese texto de nuevo, toda esa actualización.
00:02:35
¿Vale? Hecho eso.
00:02:41
Cojo las usadas de antes, concateno la letra
00:02:45
nueva y ese texto se lo pongo en el label para que me aparezcan
00:02:48
las usadas. Cambiado a mayúscula pues para que se vea mejor.
00:02:52
ahora, que es lo que más
00:02:56
tengo que ver, si el usuario
00:03:00
con esa letra
00:03:01
acertó o no acertó
00:03:04
pues para eso tenía el boolean
00:03:06
si no acertó
00:03:08
le digo, oye no contiene
00:03:10
la letra
00:03:12
disminuyo el número de intentos
00:03:13
y si ya ha llegado
00:03:16
a cero, le digo
00:03:20
perdiste
00:03:22
perdiste y ya está
00:03:23
y ahora desde aquí
00:03:25
es donde podría, bueno
00:03:28
ahora es donde desde aquí
00:03:30
tendría yo que hacer el reset
00:03:32
que es la parte que no he hecho, que es volver a ocultarlo
00:03:34
todo y volver a poner
00:03:36
el botón jugar
00:03:38
¿verdad? volver a hacer el reset
00:03:39
¿vale? ¿está claro lo que he hecho en este método?
00:03:42
he ido parte
00:03:49
por parte, he cogido la letra de usuario
00:03:50
se te ha caído una bufanda Ana
00:03:52
blanca además
00:03:54
he cogido la letra de usuario, he vuelto a
00:03:55
poner el espacio a cero
00:03:59
el espacio donde el usuario mete la letra
00:04:01
he ido posición por posición
00:04:03
de la palabra a ver si en alguna
00:04:06
posición estaba esa letra
00:04:07
en la posición en la que estuviera
00:04:09
lo pongo en el text field
00:04:12
correspondiente y aviso
00:04:14
que la encontré
00:04:16
actualizo el label de letras usadas
00:04:17
y ahora ya, que esa letra
00:04:20
no estaba
00:04:24
le aviso que no contiene la letra
00:04:25
disminuyo el número de intentos
00:04:28
y si ha llegado a cero le aviso
00:04:30
y vamos a hacer un reset del juego
00:04:33
entonces voy a hacer aquí un método aparte
00:04:35
reset juego
00:04:39
un método aparte para no poner ahí todo el código
00:04:40
este método está aquí
00:04:43
reset juego
00:04:45
y aquí en este método aparte
00:04:47
reset juego
00:04:49
pues voy a hacer el reset del juego
00:04:50
que es volver a poner el reset del juego
00:04:52
será la palabra volver a ponerla null
00:04:54
el botón jugar
00:04:57
volver a ponerle
00:05:00
a jugar
00:05:02
y volver a habilitarlo
00:05:04
no puedes que
00:05:11
no porque son lineajes que están por ahí sueltas
00:05:13
botón jugar
00:05:18
punto vamos a volver a habilitarlo
00:05:19
sedenable true
00:05:21
vamos a ocultar todos los text
00:05:22
fill
00:05:25
todos los text fill ocultados
00:05:26
letras de i
00:05:36
punto set
00:05:43
visible
00:05:45
falso
00:05:47
oculto también la etiqueta esta
00:05:50
que me decía lo del usuario
00:05:54
entre letra y la letra de usuario
00:05:56
esta no la había
00:05:58
cambiado el nombre
00:06:00
así que creo que se llamaba
00:06:01
el new label
00:06:04
set visible
00:06:05
falso
00:06:10
oculto también la letra usuario
00:06:11
visible
00:06:21
falso
00:06:29
y pongo las letras usadas a cero
00:06:30
otra vez, letras usadas
00:06:32
con suerte se llamaba así
00:06:34
no, no se llamaba así
00:06:36
letra usada
00:06:37
usadas
00:06:40
con la s
00:06:43
al final
00:06:44
usadas.sectest
00:06:45
creo que ya está
00:06:49
todo reiniciado, hemos puesto el
00:06:52
botón a jugar y habilitado
00:06:54
hemos escondido las áreas de texto
00:06:56
y la letra de usuario
00:06:58
y hemos puesto este, con esto ya
00:07:01
el número de intentos se reinicia otra vez
00:07:02
ah no, porque al darle a jugar
00:07:05
ya se pone, vale
00:07:07
pues ya está
00:07:08
ya reset juego y ya está
00:07:09
y aquí también me falta en mi código
00:07:12
si ha acertado la palabra
00:07:16
la verificación de si la palabra está acertada
00:07:18
no la he hecho
00:07:20
entonces, esto
00:07:23
lo añadís vosotros
00:07:28
falta verificar
00:07:30
si se ha completado la palabra
00:07:35
en caso
00:07:37
de que se haya completado
00:07:45
se avisa
00:07:47
y se hace reset también
00:07:54
esto es lo que faltaría para que estuviera ya
00:07:56
completo
00:08:06
verificar si se ha completado la palabra
00:08:07
si todos los textfield
00:08:13
si la palabra está completa
00:08:14
si se ha completado
00:08:17
se avisa y se llama reset juego también
00:08:19
para que se resete
00:08:21
¿cómo podríais verificar
00:08:22
si se ha completado la palabra?
00:08:25
¿cómo podríais verificarlo?
00:08:30
claro
00:08:40
se podría
00:08:40
recorrerlos y en el momento que
00:08:41
encuentras uno vacío no se ha verificado
00:08:44
pero depende, si la palabra es más corta
00:08:46
que todos los que hay
00:08:48
ya bueno pero
00:08:49
no pero tú vas a numletras igualmente
00:08:51
Claro, entonces
00:08:54
¿Lo hacemos? ¿Ya lo dejamos completo?
00:08:55
¿No? Venga, ya lo dejamos
00:08:58
Entonces esto lo podríamos hacer
00:09:00
Vamos a verificarlo
00:09:02
Vamos a verificar
00:09:03
También se podría hacer como lo has hecho tú
00:09:06
Claro, claro
00:09:08
Lo que pasa es que yo en mi caso no puedo hacerlo así
00:09:09
Porque yo tengo más campos
00:09:11
Pero ¿y nosotros también?
00:09:14
Ah, tú tienes más visibles
00:09:17
Bueno, pero puedes llegar tú hasta el tamaño
00:09:18
De la palabra oculta
00:09:20
Claro, puedes hacer un for, entonces aquí podríamos hacer
00:09:21
desde int i igual a 0
00:09:24
mientras i sea menor
00:09:27
que palabra punto lens
00:09:28
incrementando i
00:09:31
claro, si
00:09:34
letras
00:09:37
de i, a ver, vamos a poner el
00:09:39
boolean
00:09:41
adivinada
00:09:41
vamos a asumir que de partida la ha adivinado
00:09:45
y si encontramos uno que está vacío
00:09:47
es que no lo ha adivinado
00:09:49
claro, es que al revés es más
00:09:50
complicado. Si letras de i
00:09:53
punto get test
00:09:55
punto
00:09:57
equals
00:09:59
equals vacío
00:10:00
entonces
00:10:05
bueno, vamos a ponerle antes
00:10:07
si letras de i
00:10:09
punto get test diferente de null
00:10:11
y
00:10:13
para que no la caguemos con un null pointer exception
00:10:14
to get test
00:10:17
diferente de
00:10:22
null y
00:10:24
además de ser diferente de null
00:10:25
es también
00:10:28
diferente del vacío
00:10:30
pues en ese caso
00:10:32
adivinada igual a
00:10:33
falsa
00:10:36
y ahora ya, cuando este fuera terminado
00:10:37
que ha terminado aquí, ahora ya
00:10:39
si adivinada
00:10:42
adivinada
00:10:44
pues le decimos
00:10:47
acertaste
00:10:49
ganaste
00:10:50
y reset
00:11:07
juego también, ¿vale?
00:11:15
Entonces, la comprobación
00:11:24
de adivinada tiene que hacerle solo
00:11:25
si no ha
00:11:27
completado los intentos.
00:11:29
Entonces, aquí le vamos a poner
00:11:33
un retun
00:11:34
para que si ha completado el número
00:11:36
de intentos ya no verifique nada.
00:11:40
Vamos a ponerle aquí un retun.
00:11:43
Un retun para que si ha
00:11:47
llegado a cero, reinicie
00:11:48
el juego, perdiste y ya está.
00:11:50
Y luego ya verifica
00:11:53
se ha completado la palabra. No vaya a ser
00:11:54
que haya completado el número de intentos
00:11:56
en el momento de acertar la palabra
00:11:59
y entonces me diga la perdiste y luego ganaste
00:12:00
y es un lío.
00:12:02
Bueno, pues ahora yo creo que ya
00:12:05
estaría todo.
00:12:06
Iniciamos el juego.
00:12:11
Este tiene tres solo.
00:12:13
E
00:12:16
Res.
00:12:17
A la primera.
00:12:23
Ganaste
00:12:25
y efectivamente después de ganar
00:12:26
reinicia juego.
00:12:29
¿Veis? Una cosa que me ha faltado
00:12:31
Volverlas a poner a cero de nuevo
00:12:34
Reiniciar juego
00:12:35
Le ha faltado volverlas a poner a cero
00:12:36
Reiniciar juego
00:12:40
Reset juego
00:12:44
Le falta volverlas a poner a cero
00:12:45
Set test
00:12:47
Ahora ya sí que
00:13:12
Se queda con
00:13:25
Uy, ¿qué hago yo? Aquí no, claro
00:13:27
A, reloj, seguramente, justo, reloj.
00:13:29
vale, ganaste
00:14:09
y reinicia el juego
00:14:12
vale
00:14:14
bueno, pues yo creo
00:14:14
que ahora ya sí que estaría completo
00:14:18
bueno, pues con esta
00:14:19
tontería de juego
00:14:22
hemos revisado muchas cosas y habéis podido
00:14:23
repasar algunas otras cosas
00:14:26
ahora hay que hacer aplicaciones más grandes
00:14:27
para poder integrar lo de las colecciones, los mapas
00:14:30
todo eso, porque es que si no
00:14:32
se nos olvida lo importante
00:14:33
y el JavaFX
00:14:35
¿Tienes planeado usar el map?
00:14:38
Claro.
00:14:51
Utilísimo para cualquier aplicación que tengas
00:14:52
un montón de datos.
00:14:54
Bueno, ¿algún problema?
00:14:56
Vale.
00:15:01
Bueno, pues una vez hecho esto,
00:15:02
los cuatro primeros son chorradas
00:15:04
que tardaréis nada en hacerlo
00:15:07
este es
00:15:09
para explorar
00:15:11
vosotros un componente nuevo
00:15:13
el combo box
00:15:15
y este también es para explorar vosotros
00:15:16
otra cosa que es el
00:15:19
J file chooser
00:15:21
vale, esto es
00:15:22
para explorar eventos
00:15:24
que no sean por
00:15:27
defecto, sino que sean de ratón
00:15:29
y esto ya son aplicaciones más
00:15:30
grandes para que podamos
00:15:33
explorar, menús, barras de menú
00:15:35
Pestañitas, otras cosas
00:15:37
Pues bueno
00:15:39
Los cuatro primeros más al arcado
00:15:42
Se da por visto
00:15:46
¿Alguien ha hecho el 5?
00:15:46
Por ejemplo
00:15:49
Para ver rápidamente
00:15:49
Lo del combo box
00:15:53
Pues venga
00:15:54
Vamos a hacer
00:16:00
Bueno, os arrancáis vosotros
00:16:03
Pero vamos a hacer nosotros aquí
00:16:05
5, 6 y 7
00:16:07
para ver un poco la dinámica de componentes nuevos
00:16:08
y todo eso
00:16:11
y luego ya planteamos estas aplicaciones
00:16:11
para que las hagáis
00:16:14
pues venga
00:16:16
pasad de los cuatro primeros
00:16:20
si no los habéis hecho porque son chorradas
00:16:23
y si habéis hecho esto
00:16:25
cinco directamente
00:16:26
- Materias:
- Programación
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado superior
- Primer Curso
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 6
- Fecha:
- 17 de marzo de 2025 - 10:24
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 16′ 36″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 79.46 MBytes