1 00:00:00,540 --> 00:00:05,679 Bienvenido, bienvenida al vídeo en el que nos metemos en faena, en el que vamos a ver cómo 2 00:00:05,679 --> 00:00:11,660 hacer un contador de vidas e ir reduciéndolo. O lo que es lo mismo, cómo trabajar con variables. 3 00:00:12,099 --> 00:00:16,780 Seguramente el concepto más importante en la programación informática. Vamos allá. 4 00:00:17,440 --> 00:00:23,100 Lo primero tenemos aquí la barra de navegación de variables. Una variable es una mochila, 5 00:00:23,300 --> 00:00:30,039 una cajita, un concepto que puede tomar cualquier valor. De ahí viene su nombre. La variable color 6 00:00:30,039 --> 00:00:37,719 Podría ser verde, rojo, azul. La variable número podría ser 9, 12, 15.000 y así hasta el infinito. 7 00:00:38,219 --> 00:00:45,340 Entonces, vamos a crear una variable llamada, por ejemplo, vidas restantes. 8 00:00:45,539 --> 00:00:48,560 Vidas restantes para todos los objetos, ¿vale? Y nos aparece. 9 00:00:49,079 --> 00:00:52,060 Vidas restantes son las vidas que tenemos en este videojuego. 10 00:00:52,340 --> 00:00:55,200 Recordamos que avanzamos, saltamos, etc. 11 00:00:55,200 --> 00:01:16,939 Y por cierto, le he añadido una pequeña mejora en la que he cambiado la velocidad. En vez de 1, le he puesto 0,4. Pero eso lo tenéis que ajustar a vuestro gusto. Si queréis que el juego sea más fácil, más difícil, más ágil, más adaptativo, etc. Pero notaréis una diferencia un poquito más ligera. Hay un incremento neto de la velocidad. 12 00:01:16,939 --> 00:01:18,760 muy bien, pero eso ya lo habéis visto 13 00:01:18,760 --> 00:01:20,760 como se cambia el vector 14 00:01:20,760 --> 00:01:23,099 en deslizar, así que no vamos a caer 15 00:01:23,099 --> 00:01:25,000 en eso, hemos creado 16 00:01:25,000 --> 00:01:26,459 la variable vidasRestantes 17 00:01:26,459 --> 00:01:29,280 ¿vale? y esta variable vidasRestantes 18 00:01:29,280 --> 00:01:30,959 nos aparece aquí, ¿por qué 19 00:01:30,959 --> 00:01:32,760 vale 0? porque una variable en Scratch 20 00:01:32,760 --> 00:01:34,260 se crea con 21 00:01:34,260 --> 00:01:36,840 valor 0, luego le podemos editar el nombre 22 00:01:36,840 --> 00:01:38,719 si venimos aquí podríamos hacer otra 23 00:01:38,719 --> 00:01:40,780 de hecho, mira, podemos ir y usar 24 00:01:40,780 --> 00:01:42,900 la variable vidas que ya tengo y nos aparece 25 00:01:42,900 --> 00:01:44,700 aquí, esta flag que se llaman 26 00:01:44,700 --> 00:01:46,599 flags a el típico botoncito de 27 00:01:46,599 --> 00:01:52,819 activado o desactivado, hace que aparezca. La vamos a poner aquí, vidas, ¿vale? Empieza con el valor 0. 28 00:01:53,359 --> 00:01:58,859 Entonces, lo primero que habrá que hacer es iniciar la variable. En informática se llama iniciar la variable. 29 00:01:59,379 --> 00:02:11,919 Creamos que al hacer clic en iniciar el juego, en variables, podemos hacer que la variable vidas empiece con, vamos a poner con 5 vidas, por ejemplo. 30 00:02:11,919 --> 00:02:13,780 Entonces cuando le dé al botón verde 31 00:02:13,780 --> 00:02:15,879 Mira qué número de vidas se va a poner aquí 32 00:02:15,879 --> 00:02:17,759 5, perfecto 33 00:02:17,759 --> 00:02:18,520 Pero si esto fuera 34 00:02:18,520 --> 00:02:21,219 10.000, ¿cuántas vidas empieza? 35 00:02:21,800 --> 00:02:24,060 Ole, parece que hemos metido un truco en un videojuego 36 00:02:24,060 --> 00:02:25,840 Vamos a empezar 37 00:02:25,840 --> 00:02:28,000 Con 5 vidas, o con 3 mismo, da igual 38 00:02:28,000 --> 00:02:29,639 ¿Vale? Empezamos, reseteamos, etc 39 00:02:29,639 --> 00:02:31,800 Entonces siempre que iniciemos 40 00:02:31,800 --> 00:02:34,080 El juego, vamos a empezar con 3 vidas 41 00:02:34,080 --> 00:02:35,580 ¿Vale? Lo movemos 42 00:02:35,580 --> 00:02:38,199 Recordamos el reset, etc, etc, etc 43 00:02:38,199 --> 00:02:39,400 De hecho 44 00:02:39,400 --> 00:02:41,879 Podríamos hacer que esto pasara 45 00:02:41,879 --> 00:02:43,539 Cuando le metemos el reset 46 00:02:43,539 --> 00:02:46,180 Al presionar la tecla espacio 47 00:02:46,180 --> 00:02:47,740 Resetear las vidas 48 00:02:47,740 --> 00:02:49,639 Entonces ahora, aunque esto 49 00:02:49,639 --> 00:02:51,599 Dará a las vidas el valor 3 50 00:02:51,599 --> 00:02:54,180 Entonces cada vez que pulse espacio esto se pondría a 3 51 00:02:54,180 --> 00:02:56,360 Pero eso es ya algo de quality of life 52 00:02:56,360 --> 00:02:57,360 Que veremos más adelante 53 00:02:57,360 --> 00:03:00,240 Al iniciar, las vidas empiezan a 3 54 00:03:00,240 --> 00:03:02,419 Ahora, como lo que queremos hacer 55 00:03:02,419 --> 00:03:04,500 Es que si el caballero 56 00:03:04,500 --> 00:03:06,580 Por eso estamos en el caballero, en el protagonista 57 00:03:06,580 --> 00:03:08,759 Es tocado por una bola 58 00:03:08,759 --> 00:03:10,460 Perdamos una vida 59 00:03:10,460 --> 00:03:13,759 Repito, si una bola impacta al caballero 60 00:03:13,759 --> 00:03:14,840 Perdemos una vida 61 00:03:14,840 --> 00:03:17,539 Pues entonces, como siempre, valga la redundancia 62 00:03:17,539 --> 00:03:18,560 Un por siempre 63 00:03:18,560 --> 00:03:20,800 Ahora, para que se repita siempre 64 00:03:20,800 --> 00:03:22,080 Un condicional 65 00:03:22,080 --> 00:03:24,840 Si, si 66 00:03:24,840 --> 00:03:26,319 Y nos vamos a sensores 67 00:03:26,319 --> 00:03:30,960 Si toco la bola 68 00:03:30,960 --> 00:03:32,900 Si toco 69 00:03:32,900 --> 00:03:33,620 Vol 70 00:03:33,620 --> 00:03:35,460 ¿Qué va a pasar? 71 00:03:35,599 --> 00:03:38,159 Que la vida debería bajar a menos uno 72 00:03:38,159 --> 00:03:39,259 Vamos a probar 73 00:03:39,259 --> 00:03:40,840 Que salgan las bolas disparadas 74 00:03:40,840 --> 00:03:42,939 salen las bolas, por ahora no pasa nada 75 00:03:42,939 --> 00:03:44,759 me impactan las bolas y no pasa nada 76 00:03:44,759 --> 00:03:46,800 ¿vale? vamos a trabajar para que 77 00:03:46,800 --> 00:03:48,039 si toco bola 78 00:03:48,039 --> 00:03:50,599 la variable 79 00:03:50,599 --> 00:03:54,439 a la variable 80 00:03:54,439 --> 00:03:55,979 vidas 81 00:03:55,979 --> 00:03:58,560 le sumo un menos uno 82 00:03:58,560 --> 00:04:00,180 sumar un menos uno es 83 00:04:00,180 --> 00:04:02,400 obviamente restar uno, entonces 84 00:04:02,400 --> 00:04:05,000 vamos a ver que pasa, pongo el caballero aquí 85 00:04:05,000 --> 00:04:05,979 inicio 86 00:04:05,979 --> 00:04:08,860 las vidas empiezan a tres 87 00:04:08,860 --> 00:04:10,340 no bajan, perfecto 88 00:04:10,340 --> 00:04:11,460 me vengo aquí 89 00:04:11,460 --> 00:04:13,240 Me pongo aquí 90 00:04:13,240 --> 00:04:14,500 Y en cuanto me dé 91 00:04:14,500 --> 00:04:17,519 Menos 5, menos 13 92 00:04:17,519 --> 00:04:18,560 ¿Qué está pasando? 93 00:04:19,300 --> 00:04:21,579 Esto está muy claro y quería verlo juntos 94 00:04:21,579 --> 00:04:23,879 Lo primero, vamos a ver que el caballero se mueve 95 00:04:23,879 --> 00:04:25,139 Perfecto, ¿qué pasa? 96 00:04:25,279 --> 00:04:27,639 Pues que en el trayecto 97 00:04:27,639 --> 00:04:29,319 De la mano del caballero 98 00:04:29,319 --> 00:04:31,379 Hasta el final, le toca muchas veces 99 00:04:31,379 --> 00:04:33,920 Esto es lo que se llaman los FPS de la bola 100 00:04:33,920 --> 00:04:35,839 Tantas veces como le toque 101 00:04:35,839 --> 00:04:37,540 Tantas veces activa 102 00:04:37,540 --> 00:04:39,000 Este gatillo, este trigger 103 00:04:39,000 --> 00:04:40,379 Y le resta vidas 104 00:04:40,379 --> 00:04:55,540 Al punto de que en vez de ser un menos 1 cada impacto es un menos 20, un menos 13, lo que sea. Para evitar esto, ¿qué se os ocurre? Pues es muy fácil añadirle una espera, que esto solo pueda pasar una vez por segundo o de hecho una vez por cada dos segundos. 105 00:04:55,540 --> 00:05:20,620 Entonces, ahora cuando le dé al verde tiene que primero resetearse esto a 3 y lo siguiente cuando me dé restar solo un daño, una bola. Vamos a ver. Bien, se resetea en 3 y ahora estamos a 3 vidas y cuando nos da no está pasando nada. ¿Por qué? Porque igual 2 segundos es demasiado, porque es la misma cadencia con la que nos está disparando. 106 00:05:20,620 --> 00:05:42,519 Pues igual lo que teníamos que poner 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. 107 00:05:42,519 --> 00:05:46,920 Muy bien, pues hemos aprendido algo de muchísimo valor. 108 00:05:47,579 --> 00:05:55,519 Cómo crear variables, cómo asignarles un valor inicial o definirlas y cómo ir incrementándolas o disminuyéndolas. 109 00:05:56,439 --> 00:05:57,980 Nos vemos en el siguiente vídeo.