Concepto de VARIABLE en Programación

Por GameDevTraum

Introducción

En este artículo vamos a explicar qué es una variable en programación, qué tipos de variables hay, para qué se usan y mostrar algunos ejemplos en lenguaje C# en el desarrollo de videojuegos en Unity.

En los siguientes videos vemos de manera resumida qué es una variable en programación y cómo leer variables que están definidas en otro Script en Unity.

Resumen de Variables en programación

Leer variables que están en otros Scripts

Puedes unite al canal aquí >

¿Qué es una variable en programación?

El concepto de variable se utiliza en muchas disciplinas, el ejemplo más común quizás es la variable x en matemática, que se trata de un valor desconocido que debemos encontrar. En programación las variables son un concepto algo distinto.

Para entender qué es una variable en programación vamos a ver un poco sobre memorias de computadoras.

Las memorias almacenan información en forma de registros de bits (es decir conjuntos de valores que pueden ser 0 o 1). Esta información será interpretada y utilizada por nuestros programas.

Las memorias a su vez cuentan con muchos de estos registros, así que cada registro tiene una dirección que permite encontrarlo, leerlo y escribirlo.

Entonces podemos decir que una variable es un DATO que se aloja en la memoria de la computadora.
El nombre de identificación que le asignamos está asociado a la dirección dentro de la memoria y el valor que guardamos es la información que contiene la variable.

Ejemplos de variables de distinto tipo

Las variables pueden ser de distinto tipo, dependiendo de la información que necesitemos almacenar.

En la figura 1 vemos distintos tipos de variables y su valor asignado.

ejemplos de variables. tabla de 5 filas y dos columnas, los títulos de las columnas son "id" y "valor". ejemplos de valores de variables
Fig. 1: Ejemplos de variables con nombre de identificación y valor.

La variable “edad” contiene el valor 22, esto quiere decir que cuando nosotros usemos la palabra “edad” en nuestro programa, indirectamente estaremos usando el valor 22. Hay que tener en cuenta de que el valor de una variable se puede modificar durante la ejecución de un programa.

Si hacemos la operación “2*edad” (2 multiplicado por edad) tendrá un resultado de 44.

tabla de 5 filas y dos columnas, los títulos de las columnas son "id" y "valor". ejemplos de mala eleccion de nombres de variables
Fig. 2: Ejemplos de variables con nombres MAL ELEGIDOS.

Elección de nombres para las variables

En la figura 2 se muestran variables que han sido definidas con nombres confusos. Esto suele pasar muy a menudo cuando queremos resolver los problemas rápidamente.

Es importante elegir nombres representativos, porque luego de un tiempo olvidamos lo que hicimos y si necesitamos hacer cambios resultará difícil entender el código.

La variable “casa” de la figura 2, tiene el valor “falso”. Esta variable la pudimos haber utilizado, por ejemplo, para saber si un personaje está en su casa y si es verdadera restaurar su salud.

Cuando le damos un contexto, le encontramos sentido al nombre “casa” para identificar una variable de verdadero o falso, esto significa que el personaje no está en su casa. Sin embargo nos puede tomar un buen rato descifrar cuál era la función de la variable.

Podemos ahorrarnos el esfuerzo simplemente definiendo la variable como “personajeEnCasa”. Ahora el nombre de la variable es representativo de la función que cumple!



Tipos de Variables en Programación

Conozcamos las variables más básicas que vamos a usar para resolver nuestros problemas. Los ejemplos fueron tomados de la serie del laberinto.

Variables tipo Boolean (bool)

Las variables tipo “bool” reciben su nombre del Álgebra de Boole desarrollada por el matemático George Boole. Pueden encontrarse en 2 estados posibles: True o False (verdadero o falso). Las utilizamos para resolver operaciones lógicas.

En la imagen hay sólo texto. Es la definición del método place object to find presente en el script Game Control de la serie de video tutoriales "Mi primer juego en Unity".
Fig. 3: Fragmento del Script “GameControl” del proyecto Mi primer juego en Unity.

En el método que se ve en la figura 3, definimos el bool “validSelection” y lo inicializamos con el valor falso.

Dentro del bucle while se selecciona una pieza al azar del laberinto y se verifica si está lo suficientemente lejos del personaje.

Si la pieza de laberinto está muy cerca del personaje, validSelection sigue siendo false y el programa vuelve a elegir otra pieza de laberinto.

Si la pieza de laberinto está lo suficientemente lejos, validSelection se hará verdadera y el programa seguirá adelante utilizando esa pieza.

una escena 3d de un juego en unity en el que el escenario es un laberinto, el suelo es cesped con hojas, muros de roca, en el centro hay un pedestal con una espada, la espada está incrustada en la piedra. se observa ademas una cuenta regresiva
Fig. 4: El objeto que hay que encontrar en el laberinto es un pedestal con una espada.

Variables tipo Integer (int)

Las variables tipo “int” sirven para almacenar valores enteros positivos y negativos.


En la imagen hay sólo texto. Es la definición del método place all the clocks presente en el script Game Control de la serie de video tutoriales "Mi primer juego en Unity".
Fig. 5: Fragmento del Script “GameControl” del proyecto Mi primer juego en Unity.

En el método que se ve en la figura 4 se ven varios números enteros, “nPieces”, “labyrinthPieces.Length”, “nClocks”, los números 0 y 1 y la variable de iteración “i”.

Tomemos el caso de la variable iteradora “i”, está declarada e inicializada con valor 0 dentro del bucle for y sirve para ejecutar el método “placeAClock” (colocar un reloj), las instrucciones dentro del bucle se repetirán “nClocks” veces, siendo nClocks una variable entera que indica cuántos relojes deben haber en el escenario.

Por ejemplo si queremos que haya 10 relojes en el escenario, hacemos que “nClocks” valga 10, entonces el bucle for ejecutará 10 veces el método “placeAClock”.

una escena 3d de un juego en unity en el que el escenario es un laberinto, el suelo es cesped con hojas, muros de roca, en el centro hay un reloj de oro y está rodeado por un sphere collider
Fig. 6:  Relojes que aparecen en el laberinto y dan tiempo extra al jugador.



Variables tipo Float

Las variables punto flotante nos sirven para representar números reales. Es decir además de números enteros positivos y negativos podemos representar números con parte decimal. Este tipo de variables nos puede servir por ejemplo para representar magnitudes físicas.

Haz clic aquí si quieres saber un poco más sobre el sistema de punto flotante que utilizan las computadoras.

En la imagen hay sólo texto. Es la definición del método fixed update presente en el script Lucy de la serie de video tutoriales "Mi primer juego en Unity".
Fig. 7:  Fragmento del Script “Lucy” del proyecto Mi primer juego en Unity.

En el video del especial de Halloween 2018 definimos un Script para el NPC Lucy, un espectro que mora en el laberinto. Lucy persigue al personaje con una determinada velocidad.

Para resolver este comportamiento hacemos una interpolación lineal entre la posición del personaje y la posición de Lucy utilizando como parámetro el float “velocity” multiplicado por el float “Time.deltaTime”.

una escena 3d de un juego en unity en la que el escenario es un laberinto, el suelo es de ladrillos, muros de roca, un portal y en el centro se ve una mujer flotando que le da un aura de terror al juego
Fig. 8:  Lucy persiguiendo al personaje.

Variables tipo String

Los string se utilizan para almacenar texto, no son una variable en si, sino instancias de una clase de programación, sin embargo muchos entornos de desarrollo nos permiten tratar los strings como variables primitivas.

En la imagen hay sólo texto. Es la definición del método show message presente en el script UI Manager de la serie de video tutoriales "Mi primer juego en Unity".
Fig. 9:  Fragmento del Script “UIManager” del proyecto Mi primer juego en Unity.

El método “showMessage” que se ve en la figura 9 pertenece al script “UIManager”, este método recibe como parámetro un string llamado “message” y se encarga de mostrarlo en la interfaz de usuario, tal como se ilustra en la figura 10.

se observa una puerta y muros en 3d y una interfaz que muestra tiempo restante y un mensaje. Proyecto en unity
Fig. 10:  Ejemplo de mensaje que se muestra al interactuar con ciertos objetos.

Conclusión

En este artículo vimos qué es una variable en programación y cómo podemos usarla para representar distintos tipos de datos.

Una variable en programación es una referencia a un espacio en la memoria en el que está almacenado un dato. Podemos asignarle el nombre que queramos y al utilizar ese nombre estaremos haciendo referencia a ese dato almacenado en esa determinada parte de la memoria.