-
Notifications
You must be signed in to change notification settings - Fork 4
Baltasar García Perez-Schofield edited this page Feb 9, 2019
·
1 revision
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.