GUIA DE EDUKE
 • ¿Qué es Eduke?
 • Estructura del puerto
LAS VARIABLES
 • Fundamentos
 • Comandos generales
 • Operaciones Lógicas
 • Variables actualizadas
 • Variables predefinidas
ESTRUCTURAS
 • Introducción
 • Sector
 • Wall
 • Sprite
 • El jugador
 • Userdef
 • Comandos alternativos
NUEVOS ELEMENTOS
 • Switch
 • Eventloadactor
 • Bucles
OTROS COMANDOS
 • Display
 • Proyectiles
 • Otros comandos
EVENTOS
 • Introducción
 • Listado de eventos
MAS INFORMACION
 • Eduke32 Wiki
 • Eduke 2.0 - Oficial
 • Eduke 2.1.1
 • RTCM - Eduke FAQ
 • RTCM - Eduke Guide

Introducción a las variables


Introducción a las variables


Definición:

Ahora nos disponemos a tratar el tema más importante de Eduke, quizás la aportación más importante para el lenguaje con: las variables.

¿Qué es una variable?

Estrictamente una variable es una posición de memoria con nombre que se usa para mantener un valor que puede ser modificado por el programa. En Eduke, dichas variables son del tipo long (en lenguaje C).



Declaración de variables

Todas las variables tienen que estar declaradas antes de poder ser utilizadas, y esa declaracion ha de hacerse fuera de cualquier actor, state, evento... quedando fuera como si se tratara de un define . Esa declaración se realiza de la forma:

 gamevar < valor > < flag >


El comando o keyword es "gamevar". Este comando va seguido de dos parámetros, el primero es valor inicial de la variable, la cual se suele definir como "0", y el segundo es un numero que define el tipo de variable. El tipo de variable puede ser de 3 tipos:

El valor " 0 " equivale a una variable global. Es decir, si cambias el valor de la variable en un sprite o actor, este valor será el mismo para todos los sprites o variables. Esta predefinido en enhance.con como "GAMEVAR_FLAG_GLOBAL". Para usarlo pon este nombre en vez del 0 (es simplemente un "define" y como ya sabrás es una forma de definir constantes).

El valor " 1 " se da a una variable cuando la deseas declarar por jugador. Esto se refiere fundamentalmente al modo de juego en red cuando el numero de jugadores es mayor que 1. En enhance.con ha sido definida como "GAMEVAR_FLAG_PERPLAYER".

El ultimo tipo de variables es la que tiene el valor " 2 ". Estas variables son características por sprite y sirven entre otras cosas para tener distintas variables con el mismo nombre pero referidas a sprites distintos. Son muy útiles cuando tratas con estructuras para enfrentar las variables y, por ejemplo, obtener un incremento entre las posiciones "x" de un sprite "a" y un sprite "b". Ha sido predefinida en enhance.con como "GAMEVAR_FLAG_PERACTOR".

Tipo de variables

El tipo de variables que usa Eduke32 es integer o números enteros. Pongamos un ejemplo: si configuramos una variable con el valor 1.002 el resultado final será 1. Lo mismo pasaría con el valor 1.6002, se redondearía a 1, por tanto tenemos un redondeo por defecto en cualquier caso. Esto podría atraer algún que otro problema ya que si operamos directamente con la posiciones y no es un valor entero notaremos cierto “tambaleo” del sprite debido a este redondeo por lo que tendremos que buscar alguna solución alternativa para intentar evitar ese problema.

Operaciones con variables

Por ultimo debes saber que existen dos tipos de comandos con variables a la hora de hacer operaciones. Esta los comandos del tipo var... que se opera con una única variable que suelen tener la forma:

 var(operación) < variable > < constante >



Opera con la variable1 y la constante y el resultado lo guarda en la variable1, por ejemplo:
variable1=variable1*constante1 .
Esa constante puede ser el número directamente o el nombre de esa constante definida con anterioridad (el comando "define").

Los comandos varvar... se opera con dos variables. Suelen tener la forma:

 varvar(operación) < variable1 > < variable2 >


Opera con la variable1 y variable2 pero el resultado lo guarda en la variable1, por ejemplo:
variable1=variable1+variable2

Política de privacidad
© Copyright - 2003 - 2013 Dukespana.com
Todos los derechos reservados.