¿Cómo saben las computadoras lo que tienen que hacer?
📌 En el bloque anterior nos preocupamos por aprender sobre las computadoras: para qué se inventaron, qué las diferencia de otros artefactos, cuáles son sus componentes fundamentales y algunos hechos históricos relacionados a ellas. En este bloque nos acercaremos al mundo de la programación para comprender cómo saben realmente las computadoras lo que tienen que hacer.
4. Mi primer videojuego
En los capítulos anteriores descubrimos algunas herramientas de programación para crear nuestros primeros programas: instrucciones básicas, repetir y “si/si-si no”. En este capítulo vamos a desarrollar un videojuego muy sencillo en el que hay que controlar a un personaje presionando la pantalla para que vaya sorteando obstáculos. ¿Están listos/as? ¡Comencemos!
Sexto desafío
Resolvé los primeros nueve desafíos. El décimo desafío es abierto para que puedas crear tu propia versión del videojuego y compartirla con quienes quieras.
——————
Los eventos
¿Cómo te fue con los desafíos? ¿Qué propósito tienen los bloques de color verde? A diferencia de los desafíos de los capítulos anteriores donde tenías que programar todo dentro del bloque "Cuando se ejecuta", tuviste que programar diferentes bloques que se ejecutaban cuando sucedía algo, por ejemplo, cuando presionábamos la pantalla o cuando le sucedía algo al personaje como tocar el suelo, pasar un obstáculo o chocarlo.
A cada uno de estos bloques los llamamos eventos y se ejecutan cuando ocurre algún suceso que involucre dispositivos de entrada (por ejemplo, tocar un botón, hacer clic o presionar la pantalla) o al personaje del juego (por ejemplo, tocar el suelo o chocar con un obstáculo).
📱¿Qué eventos ocurren cuando utilizamos el celular? Por ejemplo, presionar el botón de bloqueo es un evento que tiene como consecuencia prender (o apagar) la pantalla. Presionar los botones de volumen son eventos que aumentan o disminuyen el valor del volumen. Arrastrar el dedo por la pantalla cuando recibimos una llamada es un evento que tiene como efecto atender o rechazar una llamada. Estos son solo algunos ejemplos de eventos pero seguramente te estés imaginando muchos más. En particular, estos eventos están asociados a los dispositivos de entrada del celular.
——————
Todo está guardado en la memoria
¿Cómo funciona el puntaje del juego? ¿Cómo hace la computadora para recordarlo durante todo el juego? Como parte de los desafíos tuvieron que programar a la computadora para que vaya controlando el puntaje del juego. Cómo vimos en el bloque anterior, uno de los componentes principales de la computadora es la memoria. Lo que podemos observar es que la computadora almacena el puntaje del juego en la memoria principal y durante su ejecución podemos indicarle que lo modifique con la instrucción de “anotar un punto”. Internamente lo que está sucediendo es que la computadora recupera el valor almacenado, le suma uno y lo vuelve a almacenar en la memoria. ¿Se te ocurren otros datos que se podrían almacenar durante la ejecución de un videojuego, además del puntaje?
Más allá de los videojuegos, ¿Qué datos podrías almacenar los programas? Por ejemplo, una aplicación de mensajería almacena el mensaje que estamos escribiendo antes de ser enviado, una aplicación de llamadas almacena la duración de la comunicación, una aplicación para mirar videos almacena el nombre del archivo que estamos reproduciendo y por qué parte vamos.
La clave de este capítulo
En los capítulos anteriores creaste programas que comenzaban a ejecutarse al presionar el botón “Ejecutar”. En este caso, la ejecución del programa depende, además, de eventos que van sucediendo durante su transcurso, ya sea por el uso de dispositivos de entrada (como botones, mouse o pantalla) o situaciones que le van sucediendo al personaje. Por otro lado, los programas necesitan almacenar información durante su ejecución y esto es posible gracias a la memoria principal de la computadora.
En estos capítulos dimos nuestros primeros pasos de programación utilizando bloques, conocimos de qué se trata y nos acercamos a algunos conceptos fundamentales. Pero este recorrido es simplemente una puerta de entrada y aún queda mucho por descubrir. Programar no solo se trata de encastrar bloques sino que en la mayoría de los casos es necesario escribir los programas en algún lenguaje textual. Aún así, las posibilidades son muchas y de lo más variadas, por mencionar algunas: videojuegos, aplicaciones de celular, páginas web… y más. ¡Te invitamos a descubrirlas!