Cazafantasmas
Llegamos a la semana 4 de Coursera, y personalmente me pareció bastante dificil, por esto, nos apegaremos a los ejercicios realizados en el curso. En esta semana vimos el concepto de "procedimiento", usamos la "clonación" en Scratch y aplicamos estas ideas para reutilizar nuestros programas.
¿Recuerdan que en la entrada anterior hablamos de la Programación orientada a eventos? Bueno pues ahora tenemos más elementos:
Variables: lugar en la memoria de la computadora para guardar un dato. Pueden ser locales o globales. Ya en el juego anterior hicimos uso de ellas.
Depuración del programa: se trata de ir revisando nuestro programa e irle agregando o quitando cosas de acuerdo a nuestros requerimentos y su buen funcionamiento.
Procedimiento: programa separado, una secuencia de instrucciones que describen cómo llevar a cabo una tarea en particular. Son fáciles de modificar.
Generalización: modificación de un programa para que pueda ser aplicada a una variedad mayor de problemas relacionados.
Modularidad: las funciones de un programa están separadas en componentes independientes.
Desarrollo de software en cáscada:
Requerimientos
Diseño
Implementación
Prueba
Mantenimiento
Procesos concurrentes: procesos que se ejecutan simultáneamente. Ya hemos visto muchos ejemplos de esto, ahora le ponemos nombre).
Ahora si, pasemos a los juegos, esta vez haremos un juego para cazar fantasmas, también es algo complicado, asi que lo iremos separando en partes para entenderlo.
![](https://static.wixstatic.com/media/f90a83_490a317b13c741339bdaa862b3907c6b.jpg/v1/fill/w_980,h_551,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/f90a83_490a317b13c741339bdaa862b3907c6b.jpg)
En el juego básicamente tenemos que intentar atrapar los fantasmas que van saliendo, para capturarlos debemos mover una cajita con el cursor. Los fantasmas son clones. Veamos parte por parte el código.
![](https://static.wixstatic.com/media/f90a83_862bc0615cd64174b0b35e3124da32fa.jpg/v1/fill/w_272,h_196,al_c,q_80,enc_avif,quality_auto/f90a83_862bc0615cd64174b0b35e3124da32fa.jpg)
La primera parte del código es para que se vayan creando clones de nuestro objeto, el fantasma. Crear clons es muy útil si queremos usar muchos objetos del mismo tipo y si queremos que hagan lo mismo, esto nos ahorra mucho trabajo pues de lo contrario tendriamos que ir creando y programando uno por uno.
![](https://static.wixstatic.com/media/f90a83_f84cf1fdfc4142cd94948a75a4056e21.jpg/v1/fill/w_564,h_269,al_c,q_80,enc_avif,quality_auto/f90a83_f84cf1fdfc4142cd94948a75a4056e21.jpg)
Esta parte del código indica como se van a comportar los clones, van ir saliendo y ubicandose al azar sobre el escenario y se van a mover también al azar. Se seguiran moviendo hasta que la caja los toque, entonces el clon se borrará. Además tenemos la variable "Atrapados" en la que se irán sumando los fantasmas que vayamos atrapando con nuestra caja, la variable se mostrará en la pantalla y conforme vayamos atrapandolos veremos como va aumentando la numeración en la variable.
![](https://static.wixstatic.com/media/f90a83_52f83688ddaf40c6afea58f4c889274a.jpg/v1/fill/w_377,h_202,al_c,q_80,enc_avif,quality_auto/f90a83_52f83688ddaf40c6afea58f4c889274a.jpg)
Ya tenemos el código para los fantasmas y los clones, ahora veamos el código para la caja que los atrapara. Vemos que es en esta parte donde vamos a programar el tiempo que dura nuestro juego, más de 10 segundos. Le indicamos que se ubique en la posición del puntero del ratón, de esta forma lo podemos ir moviendo para atrapar los fantasmas y finalmente una vez que se haya cumplido el tiempo, programamos para que se detengan todos los programas, incluyendo los del fantasma y los clones.
El juego queda más o menos así:
![](https://static.wixstatic.com/media/f90a83_92d66acd16ad4d82b06c74c50c2132f8.jpg/v1/fill/w_484,h_473,al_c,q_80,enc_avif,quality_auto/f90a83_92d66acd16ad4d82b06c74c50c2132f8.jpg)
![](https://static.wixstatic.com/media/f90a83_f25c3d9754fa4675b2fecf0e8211d6c1.jpg/v1/fill/w_488,h_474,al_c,q_80,enc_avif,quality_auto/f90a83_f25c3d9754fa4675b2fecf0e8211d6c1.jpg)
![](https://static.wixstatic.com/media/f90a83_35d5ed99139a428ebad8adb5b482d409.jpg/v1/fill/w_490,h_476,al_c,q_80,enc_avif,quality_auto/f90a83_35d5ed99139a428ebad8adb5b482d409.jpg)
¿Qué te pareció este juego? ¿Divertido no? Intenta hacer el tuyo y compartelo con nosotros. ¡Hasta la próxima!.