20.- Tipos de datos y variables


Sumando Strings (concatenar cadenas) Concatenar significa unir cadenas, se utiliza el signo + siempre y cuando ambos lados sean cadenas.

Modifique su código y observe como su mensaje se une a “extra string”

(nota: los espacios también son un carácter).

Unity-Script-DataTypeTest-String



En programación es muy comun la concatenación de cadenas para formar mensajes,
el software de inteligencia artificial como Cleverbot o el poderoso Watson de IBM son buenos ejemplos, pueden simular una conversacion como la prueba de Turing.

Ejecute y vea como se suma (concatena) el mensaje con la cadena "extra string".

Unity-Console-String-Message-Print

Tipo de dato: Integer

Modificamos nuestro código para entender el tipo de Integer. Recuerde, int es un tipo que permite guardar valores muy grandes entre – 2,147,483,648 y 2,147, 483, 647.

Con este código vamos a iniciar con 1 y sumar 1000 con cada Update…

Observe como el método ToString() convierte el entero en cadena para unirlo al mensaje. “Score.”

DataTypeTest-Script-Integer

DataTypeTest-Script-Inspector



La clásica pregunta es…
¿Qué pasa si se nos acaba el rango?

hagamos una prueba, modifique el conteo a 100,000,000 y observe.
nota: no se ponen las comas en programación, se escribe 100000000

DataTypeTest-Script-Score-Modificado



Cuando el valor de la variable sobrepasa el rango, se reinicia a su limite negativo y viceversa.

Para el caso de un entero se desborda y

En otros lenguajes de programación como C#, Visualbasic o C++, los desbordamientos son verdaderas catástrofes que llevan a congelar un sistema, en nuestro caso el valor no marca error, se reinicia, pero no debemos tomarlo como bueno, un desbordamiento siempre nos va a traer problemas, cuidado con los rangos.

DataTypeTest-Script-Inspector-Modificado

¿División entre cero?
Las reglas de las matemáticas siempre se cumplen, una división sobre cero es un valor que tiene a infinito, por lo tanto, marcara un error, modifique el código y haga la prueba…

DataTypeTest-Script-Division-Entre-Cero

La división sobre cero puede aparecer cuando el creador del código no considero algún detalle a futuro, inclusive una captura errónea por un usuario.

Lo más complicado en programación son los errores en tiempo o ejecución o “errores lógicos”.


El error lógico no puede detectarse por el debugger del compilador, es un error humano, para evitarlos se necesita experiencia en operación y poder ver "Eventos caóticos a futuro".

DataTypeTest-Script-Division-Entre-Cero-Error



El error lógico más famoso de la historia...

Dato-Historico-Y2K



Matemáticas aplicadas: *Ley de los signos

La ley de los signos, es una regla al multiplicar valores con signos alternos, escriba el código y compruebe como el signo del resultado cambia con cada ciclo al multiplicarse por -1.

DataTypeTest-Matematicas-Aplicadas-Script



La ley de los signos es bastante útil en programación, el famoso juego Pong y Breakout usaban esta ley matemática para el rebote de las pelotas, al topar con una pared la variable de dirección se multiplica por -1 y nos da una dirección inversa.

Observe como la consola imprime signos alternados...

DataTypeTest-Matematicas-Aplicadas-Console-Print

Tipo de dato: Boolean

El tipo de dato Booleano solo tiene dos estados: Verdadero o Falso.

Es muy práctico para representar estados como: Vivo, activado o habilitado.

Modifique su script declarando la variable: alive (vivo).
Observe como el valor se convierte en cadena e imprime: "The playerstate: True"

Importante: No usar nombres con sesgo negativo
El solo hecho de nombrar una variable puede ser todo un proceso filosófico o batalla campal entre los creadores un juego, primero se debe pensar que realmente el personaje esta vivo y sus posibles estados: armado, activo, energizado... "renacido".

Existen muchas maneras de representar el estado de un objeto de juego, por ejemplo, cuando el playeresta vivo lo ideal es crear una variable: bool vivo;

Si vivo=true; Esta vivo. Si muerto= False; Esta muerto.

Esto es mejor que crear una variable:
bool muerto; Si muerto= True; Está muerto. Si muerto= False; Está vivo.

¿Confuso verdad?

Es mejor usar variables con sesgo positivo, asociar el True con algo vivo o activo.

DataTypeTest-Boolean-Script



Hasta ahora podemos guardar valores booleanos, enteros y strings, nos falta uno que permita guardar decimales...

Tipo de dato: Float
Declaramos una variable: distance
y en la función Start se guarda el valor 1.8 La letra f nos permite acortar el numero a float.
Al ejecutar puede ver como se suma a 1 + 1.8f = 2.8 y queda guardado en result.

DataTypeTest-Script-Inspector





Usted puede mezclar tipos de datos en operaciones aritméticas, sin embargo, debe cuidar donde almacena el resultado, escriba lo siguiente: Ahora cambie el tipo de dato en result como int...

¿Qué pasará?
El compilador marca error, un dato entero no puede guardar decimales provenientes de flotantes.

Siguiente: 21.- Operaciones con datos y conceptos
Tutoriales Tecno Trainer Unity-C#-3dsmax

DataTypeTest-Script-Delete