1 00:00:01,840 --> 00:00:22,510 bienvenido bienvenida al vídeo en el que nos metemos en faena en el que vamos a ver cómo 2 00:00:22,510 --> 00:00:28,530 hacer un contador de vidas e ir reduciendo lo o lo que es lo mismo cómo trabajar con variables 3 00:00:28,530 --> 00:00:34,689 seguramente el concepto más importante en la programación informática vamos allá lo primero 4 00:00:34,689 --> 00:00:41,570 tenemos aquí la barra de navegación de variables una variable es una mochila una cajita un concepto 5 00:00:41,570 --> 00:01:08,870 que puede tomar cualquier valor, de ahí viene su nombre, la variable color podría ser verde, rojo, azul, la variable número podría ser 9, 12, 15.000 y así hasta el infinito, entonces vamos a crear una variable llamada, por ejemplo, vidas restantes, vidas restantes para todos los objetos, vale, y nos aparece, vidas restantes son las vidas que tenemos en este videojuego, 6 00:01:08,870 --> 00:01:12,030 Recordamos que avanzamos, saltamos, etc 7 00:01:12,030 --> 00:01:17,230 Y por cierto, le he añadido una pequeña mejora en la que he cambiado la velocidad 8 00:01:17,230 --> 00:01:20,129 En vez de 1, le he puesto 0,4 9 00:01:20,129 --> 00:01:22,989 Pero eso lo tenéis que ajustar a vuestro gusto 10 00:01:22,989 --> 00:01:28,250 Si queréis que el juego sea más fácil, más difícil, más ágil, más adaptativo, etc 11 00:01:28,250 --> 00:01:32,069 Pero notaréis una diferencia un poquito más ligera 12 00:01:32,069 --> 00:01:33,769 Hay un incremento neto de la velocidad 13 00:01:33,769 --> 00:01:38,849 Muy bien, pero eso ya lo habéis visto como se cambia el vector en deslizar 14 00:01:38,849 --> 00:01:59,989 Así que no vamos a caer en eso. Hemos creado la variable vidasRestantes, ¿vale? Y esta variable vidasRestantes nos aparece aquí. ¿Por qué vale cero? Porque una variable en Scratch se crea con valor cero. Luego le podemos editar el nombre. Si venimos aquí, podríamos hacer otra. De hecho, mira, podemos ir y usar la variable vidas que ya tengo y nos aparece aquí. 15 00:01:59,989 --> 00:02:15,669 Esta flag, que se llaman flags, el típico botoncito de activado o desactivado, hace que aparezca. La vamos a poner aquí, vidas. Empieza con el valor cero. Entonces, lo primero que habrá que hacer es iniciar la variable. En informática se llama iniciar la variable. 16 00:02:15,669 --> 00:02:19,250 Creamos que al hacer clic en iniciar el juego 17 00:02:19,250 --> 00:02:20,610 En variables 18 00:02:20,610 --> 00:02:23,250 Podemos hacer que la variable 19 00:02:23,250 --> 00:02:25,210 Vidas 20 00:02:25,210 --> 00:02:27,469 Empiece con, vamos a poner con 21 00:02:27,469 --> 00:02:28,750 5 vidas por ejemplo 22 00:02:28,750 --> 00:02:30,590 Entonces cuando le de al botón verde 23 00:02:30,590 --> 00:02:32,689 Mira que número de vidas se va a poner aquí 24 00:02:32,689 --> 00:02:34,349 5, perfecto 25 00:02:34,349 --> 00:02:35,349 Pero si esto fuera 26 00:02:35,349 --> 00:02:38,030 10.000, ¿cuántas vidas empieza? 27 00:02:38,629 --> 00:02:40,870 Ole, parece que hemos metido un truco en un videojuego 28 00:02:40,870 --> 00:02:43,389 Vamos a empezar con 5 vidas 29 00:02:43,389 --> 00:02:44,810 O con 3 mismo, da igual 30 00:02:44,810 --> 00:02:46,469 Empezamos, reseteamos, etc 31 00:02:46,469 --> 00:02:49,050 Entonces siempre que iniciemos el juego 32 00:02:49,050 --> 00:02:50,909 Vamos a empezar con 3 vidas 33 00:02:50,909 --> 00:02:53,449 Lo movemos, recordamos el reset 34 00:02:53,449 --> 00:02:55,110 Etcétera, etcétera, etcétera 35 00:02:55,110 --> 00:02:57,590 De hecho, podríamos hacer 36 00:02:57,590 --> 00:02:59,710 Que esto pasara cuando le metemos 37 00:02:59,710 --> 00:03:00,370 El reset 38 00:03:00,370 --> 00:03:02,969 Al presionar la tecla espacio 39 00:03:02,969 --> 00:03:04,569 Resetear las vidas 40 00:03:04,569 --> 00:03:06,469 Entonces ahora, aunque esto 41 00:03:06,469 --> 00:03:08,409 Dará a las vidas el valor 3 42 00:03:08,409 --> 00:03:10,990 Entonces cada vez que pulse espacio esto se pondría a 3 43 00:03:10,990 --> 00:03:13,169 Pero eso es ya algo de Quality of Life 44 00:03:13,169 --> 00:03:14,169 Que veremos más adelante 45 00:03:14,169 --> 00:03:17,050 Al iniciar, las vidas empiezan a 3 46 00:03:17,050 --> 00:03:19,830 Ahora, como lo que queremos hacer es que 47 00:03:19,830 --> 00:03:23,389 Si el caballero, por eso estamos en el caballero, en el protagonista 48 00:03:23,389 --> 00:03:25,569 Es tocado por una bola 49 00:03:25,569 --> 00:03:27,270 Perdamos una vida 50 00:03:27,270 --> 00:03:30,569 Repito, si una bola impacta al caballero 51 00:03:30,569 --> 00:03:31,650 Perdemos una vida 52 00:03:31,650 --> 00:03:34,370 Pues entonces, como siempre, valga la redundancia 53 00:03:34,370 --> 00:03:35,370 Un por siempre 54 00:03:35,370 --> 00:03:37,610 Ahora, para que se repita siempre 55 00:03:37,610 --> 00:03:38,889 Un condicional 56 00:03:38,889 --> 00:03:40,030 Si 57 00:03:40,030 --> 00:03:41,629 Si 58 00:03:41,629 --> 00:03:43,110 Y nos vamos a sensores 59 00:03:43,110 --> 00:03:47,759 Si toco la bola 60 00:03:47,759 --> 00:03:49,719 Si toco 61 00:03:49,719 --> 00:03:50,439 Ball 62 00:03:50,439 --> 00:03:54,099 ¿Qué va a pasar? Que la vida debería bajar 63 00:03:54,099 --> 00:03:54,960 A menos uno 64 00:03:54,960 --> 00:03:57,639 Vamos a probar que salgan las bolas disparadas 65 00:03:57,639 --> 00:03:59,740 Salen las bolas, por ahora no pasa nada 66 00:03:59,740 --> 00:04:01,560 Me impactan las bolas y no pasa nada 67 00:04:01,560 --> 00:04:03,620 ¿Vale? Vamos a trabajar para que 68 00:04:03,620 --> 00:04:04,840 Si toco bola 69 00:04:04,840 --> 00:04:07,400 La variable 70 00:04:07,400 --> 00:04:11,240 A la variable 71 00:04:11,240 --> 00:04:12,740 Vidas 72 00:04:12,740 --> 00:04:15,379 Le sumo un menos uno 73 00:04:15,379 --> 00:04:18,899 Sumar en menos 1 es, obviamente, restar 1 74 00:04:18,899 --> 00:04:20,339 Entonces, vamos a ver qué pasa 75 00:04:20,339 --> 00:04:22,779 Pongo el caballero aquí, inicio 76 00:04:22,779 --> 00:04:26,959 Las vidas empiezan a 3, no bajan, perfecto 77 00:04:26,959 --> 00:04:30,040 Me vengo aquí, me pongo aquí 78 00:04:30,040 --> 00:04:34,319 Y en cuanto me dé, menos 5, menos 13 79 00:04:34,319 --> 00:04:35,360 ¿Qué está pasando? 80 00:04:36,079 --> 00:04:38,379 Esto está muy claro y quería verlo juntos 81 00:04:38,379 --> 00:04:41,399 Lo primero, vamos a ver que el caballero se mueve, perfecto 82 00:04:41,399 --> 00:04:48,199 ¿Qué pasa? Pues que en el trayecto de la mano del caballero hasta el final le toca muchas veces. 83 00:04:48,660 --> 00:04:50,720 Esto es lo que se llaman los FPS de la bola. 84 00:04:51,220 --> 00:04:57,180 Tantas veces como le toque, tantas veces activa este gatillo, este trigger y le resta vidas. 85 00:04:57,540 --> 00:05:01,620 Al punto de que en vez de ser un menos 1 cada impacto es un menos 20, un menos 13, lo que sea. 86 00:05:02,439 --> 00:05:03,740 Para evitar esto, ¿qué se os ocurre? 87 00:05:03,980 --> 00:05:09,620 Pues es muy fácil añadirle una espera, que esto solo pueda pasar una vez por segundo. 88 00:05:09,620 --> 00:05:12,360 o de hecho una vez por cada 2 segundos 89 00:05:12,360 --> 00:05:14,720 entonces ahora cuando le de al verde 90 00:05:14,720 --> 00:05:16,160 tiene que primero 91 00:05:16,160 --> 00:05:18,500 resetearse esto a 3 92 00:05:18,500 --> 00:05:19,980 y lo siguiente 93 00:05:19,980 --> 00:05:21,839 cuando me de restar solo 94 00:05:21,839 --> 00:05:23,759 un daño, una bola 95 00:05:23,759 --> 00:05:25,879 vamos a ver, bien se resetea en 3 96 00:05:25,879 --> 00:05:27,899 y ahora estamos a 3 vidas y cuando nos da 97 00:05:27,899 --> 00:05:29,720 no está pasando nada 98 00:05:29,720 --> 00:05:31,899 ¿por qué? porque igual 99 00:05:31,899 --> 00:05:33,459 2 segundos es demasiado 100 00:05:33,459 --> 00:05:35,720 porque es la misma cadencia 101 00:05:35,720 --> 00:05:37,420 con la que nos está disparando 102 00:05:37,420 --> 00:05:39,199 pues igual lo que teníamos que poner 103 00:05:39,199 --> 00:05:59,339 era esperar un segundo o de hecho lo que podríamos hacer es invertirlo. Hay dos soluciones. Vamos a probar ahora. Se pone en 3 y ahora debería funcionar. 2, 1, 0 y ahora menos 1 porque no hemos parado, etc. 104 00:05:59,339 --> 00:06:12,339 Muy bien, pues hemos aprendido algo de muchísimo valor, cómo crear variables, cómo asignarles un valor inicial o definirlas y cómo ir incrementándolas o disminuyéndolas. 105 00:06:13,240 --> 00:06:14,800 Nos vemos en el siguiente vídeo.