Curse of Coding

Funciones

Si alguna vez te has preguntado cómo es que un videojuego maneja todo el código, habilidades, objetos, etc. las funciones son la respuesta.

Una función es un bloque de código bajo un nombre específico que realiza una tarea y puede ser reutilizado en diferentes partes del programa, permitiendo organizar el código en bloques más pequeños y manejables.

Si eres un jugador casual seguramente identifiques muchas de las funciones principales que puede tener tu personaje: saltar, disparar, correr, llorar, etc. Todo esto es código que puede ser reutilizado en diferentes partes del programa bajo circunstancias específicas simplemente mandando a "llamar" dicha función.

El concepto "llamar" se refiere a ejecutar la función, es decir, ejecutar el código que se encuentra dentro de la función. Veamos primero un ejemplo básico de cómo se crea una función:

1funcion moverse() {
2 // Código para moverse
3}

El código anterior se encarga de moverse cada vez que se llame a la función moverse(). Si viéramos el código principal del juego, seguramente se vería como el siguiente:

1funcion main() {
2
3 if(jugador presiona tecla de derecha, izquierda, arriba o abajo) {
4 moverse();
5 }
6
7}

¿Vas entendiendo por donde va la cosa? Lo anterior significa que cada vez que nosotros escribamos moverse() va a ejecutar la instrucción moverse que definimos con anterioridad, sin embargo te preguntarás, ¿Mi pequeño Isaac cómo va a saber a qué lado moverse?, fácil, vamos a necesitar de pasarle parámetros a nuestra función.

Un parámetro es una variable que se utiliza en las funciones para definir un comportamiento específico.

1funcion moverse(velocidad, direccion) {
2 // Mueve el personaje a la velocidad y dirección especificada
3}

Como puedes observar, podemos envíar cualquier tipo de parámetro a nuestra función para que utilice esos datos para realizar la instrucción.

Vamos a crear una función nueva como usar bomba para que vayas entendiendo como es la estructura de un código de videojuegos.

1// Definimos nuestras funciones
2
3funcion moverse(velocidad, direccion) {
4 // Código para moverse en la dirección especificada
5}
6
7funcion usarBomba() {
8 // Código para usar bomba
9}
10
11funcion main() {
12
13 // Los videojuegos son un ciclo infinito que se repite mientras no perdamos la partida
14 // así que primero vamos a definir el ciclo principal
15
16 variable velocidad = 5;
17
18 while(jugador no ha perdido) {
19
20 if(jugador presiona tecla "derecha") {
21 moverse(velocidad, "derecha");
22 }
23
24 if(jugador presiona tecla "izquierda") {
25 moverse(velocidad, "izquierda");
26 }
27
28 if(jugador presiona tecla "arriba") {
29 moverse(velocidad, "arriba");
30 }
31
32 if(jugador presiona tecla "abajo") {
33 moverse(velocidad, "abajo");
34 }
35
36 if(jugador presiona tecla de usar bomba) {
37 usarBomba();
38 }
39
40 }
41
42 // Cuando el jugador pierde, el juego termina
43
44}
45

¡Woah!, cada vez esto va tomando más forma, ¿no?, hasta ahora hemos aplicado en esta clase ciclos, condiciones y funciones para desarrollar un pseudocódigo de cómo se vería un videojuego.

Este tema es el final para que entiendas los conceptos básicos de la programación, ahora es momento de que empieces a programar en un lenguaje de programación real.

¿Listo para empezar?

¡Vamos a programar!

Ciclos
Sausage

Acá está la pizzería!