Skip to content
Baltasar García Perez-Schofield edited this page Feb 9, 2019 · 1 revision

Listas de mensajes

Es muy común tener la necesidad de presentar en algún momento de la experiencia conversacional una serie de respuestas o mensajes de ambientación que van cambiando, bien secuencialmente, bien al azar. Esto se puede conseguir con el objeto ListaMsjs / MsgList.

En el siguiente ejemplo, una descripción de una localidad cambia cada vez que es examinada.

const locSalon = ctrl.lugares.creaLoc(
    "Salón", [ "salon", "sala" ],
    "El salón de la casa. "
);

const salonDesc = new ListaMsjs( [
    "El ambiente es acogedor, \
     aunque con polvo depositado, \
     evidenciando cierto paso del tiempo.",
    "Una mesa y un tresillo, algo polvorientos, \
     completan la decoración.",
    "El polvo se acumula lentamente sobre los muebles."
]);

locSalon.preExamine = function() {
    return this.desc + salonDesc.sigMsj();
};

Los siguientes son miembros de un objeto ListaMsjs:

  • sigMsj() / nextMsg(): Devuelve el siguiente mensaje.
  • sigPos() / nextPos(): Calcula y devuelve el índice del siguiente mensaje.
  • alt: Indica con valores true/false, si el orden en el que se devuelven los mensajes es aleatorio o secuencial, respectivamente. Se puede manipular este atributo cuando el objeto ya ha sido creado.

Al crear un objeto lista de mensajes es posible pasar, además de la lista de mensajes, un valor true/false según se desee, de partida, que se aplique aleatoriedad a la lista de mensajes.

Clone this wiki locally