inicio | documentación | contacto
Version para imprimir Imprimir
Inicio » Documentación » Nuevo concepto, flags y variables

Nuevo concepto, flags y variables

Hasta ahora hemos visto como crear objetos, situarlos en sitios, darles nombres y una descripción. Sin embargo, salvo esa información, todos los objetos son iguales ya que no hay ninguna diferencia entre ellos: no tienen características ni estado.

Para suplir esto nacen las variables. Una variable es un valor con nombre que se asocia a un objeto. Por ejemplo, una variable podría ser la edad de un personaje que iría asociada a su objeto correspondiente. Así, se queremos que el personaje jugador tenga una variable llamada edad con un valor de 18 (años), añadiríamos la siguiente línea a la definición del objeto jugador:

var edad = 18

Posteriormente, mediante programación, es posible acceder a este valor y modificarlo.

Los flags son variables que solo pueden tener dos valores: verdadero (true) o falso (false). El hecho de indicar un flag en la creación de un objeto significa que esta activado (que vale verdadero o true). Si queremos que un flag valga falso, debemos "negarlo" con un not delante. La ventaja de los flags respecto a las variables es que se pueden escribir varios seguidos separados por comas.

Por ejemplo, vamos a añadir dos flags a un objeto para indicar que es comestible pero que no es venenoso.

flags comestible, not venenoso

La declaración anterior sería equivalente a:

var comestible = true
var venenoso = false

Los flags de la librería

La librería system/default ya añade a todos los objetos una serie de flags, todos ellos desactivados. Esto permite que todos los objetos de el modelo del mundo ya vengan con un comportamiento mínimo por defecto sin necesidad de tener que especificar nada durante su creación.

Por ejemplo, el flag comestible existe, como se verá más adelante, y sirve (como su nombre indica) para indicar si un objeto se puede comer o no. La librería ya añade este flag como desactivado, de manera que todos los objetos por defecto no son comestibles. De esta manera, nos aseguramos de que todos los flags tengan todos los flags posibles, aunque sea desactivados, para poder consultarlos sin obtener un error (leer una variable o un flag que no existe da como resultado un error de "variable o flag no encontrada").

Estos son todos flags que añade la librería a todos los objetos (se pueden consultar en system/default/clases-ObjetoReal.k )

    var direccion     = false
    var localidad     = false
    var estatico      = false
    var listable      = true
    var soporte       = false
    var recipiente    = false
    var transparente  = false
    var conmutable    = false
    var encendido     = false
    var prenda        = false
    var comestible    = false
    var entrable      = false
    var subible       = false
    var propio        = false
    var animado       = false
    var jugable       = false
    var abrible       = false
    var abierto       = true
    var cerrojo       = false
    var cerrojoechado = false
    var autoabrir     = false
    var autollave     = false

Todos los flags están desactivados a excepción de listable y abierto. Más adelante se comenta que hace cada uno de ellos.

Última modificación: miércoles 21 de mayo de 2008 10:18:15
Fecha de creación: martes 20 de mayo de 2008 11:10:53
Categorías: