Herramientas de usuario

Herramientas del sitio


notificacion_de_acciones_y_sucesos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
notificacion_de_acciones_y_sucesos [2010/12/10 13:46]
al-khwarizmi creado
notificacion_de_acciones_y_sucesos [2010/12/10 13:51]
al-khwarizmi
Línea 1: Línea 1:
-En la clase Room:+==== Notificación de acciones y sucesos ==== 
 + 
 +==Notificar sobre algo que ha ocurrido en una habitación== 
 + 
 +En la clase Room tenemos los siguientes métodos:
  
 <code java> <code java>
Línea 8: Línea 12:
 Informa a todos los jugadores presentes en la habitación de un suceso que se ha producido, donde: Informa a todos los jugadores presentes en la habitación de un suceso que se ha producido, donde:
  
-  * source es el sujeto del suceso (por ejemplo, Juan), +  * ''​source'' ​es el sujeto del suceso (por ejemplo, Juan), 
-  * target es el objeto del suceso (por ejemplo, un goblin), +  * ''​target'' ​es el objeto del suceso (por ejemplo, un goblin), 
-  * objects son otras entidades que hayan intervenido en el suceso (por ejemplo, una espada), +  * ''​objects'' ​son otras entidades que hayan intervenido en el suceso (por ejemplo, una espada), 
-  * thirdPersonDes es la descripción en tercera persona con los objetos parametrizados con $1 (sujeto), $2 (objeto), $3...$n (resto). Por ejemplo: "$1 ataca a $2 con $3". +  * ''​thirdPersonDes'' ​es la descripción en tercera persona con los objetos parametrizados con $1 (sujeto), $2 (objeto), $3...$n (resto). Por ejemplo: "$1 ataca a $2 con $3". 
-  * sufferDes es la descripción que se mostrará al objeto del suceso ("$1 te ataca con $3"​). +  * ''​sufferDes'' ​es la descripción que se mostrará al objeto del suceso ("$1 te ataca con $3"​). 
-  * execDes es la descripción que es mostrará al sujeto del suceso ("​Atacas a $1 con $3"​). +  * ''​execDes'' ​es la descripción que es mostrará al sujeto del suceso ("​Atacas a $1 con $3"​). 
-  * style permite especificar un estilo (color) para mostrar el texto a los jugadores (puede ser "​story",​ "​description",​ "​action",​ etc.) +  * ''​style'' ​permite especificar un estilo (color) para mostrar el texto a los jugadores (puede ser "​story",​ "​description",​ "​action",​ etc.) 
-  * self_included:​ si es true, se muestra el texto también para el sujeto, si no, sólo para el resto de jugadores/​criaturas.+  * ''​self_included''​: si es true, se muestra el texto también para el sujeto, si no, sólo para el resto de jugadores/​criaturas.
    
 <code java> <code java>
Línea 25: Línea 29:
  
   * Si realmente no es necesario el grado de detalle que da reportAction,​ pues no hay que emitir descripciones distintas en primera, segunda y tercera persona (por ejemplo, en juegos monojugador).   * Si realmente no es necesario el grado de detalle que da reportAction,​ pues no hay que emitir descripciones distintas en primera, segunda y tercera persona (por ejemplo, en juegos monojugador).
-  * Si sí es necesario emitir descripciones distintas en primera, segunda y tercera persona; pero la oración es lo suficientemente sencilla como para que AGE pueda convertirla (en el futuro se darán más detalles de cuáles se pueden convertir automáticamente y cuáles no, de momento se puede saber por prueba y error).+  * Si sí es necesario emitir descripciones distintas en primera, segunda y tercera persona; pero la oración es lo suficientemente sencilla como para que AGE pueda convertirla (en el futuro se darán más detalles de cuáles se pueden convertir automáticamente y cuáles no, de momento se puede saber por prueba y error). ​ 
    
 +==Notificar sobre algo que ha ocurrido con una cosa==
 +
 +En la clase Item tenemos los siguientes métodos:
 +
 +<code java>
 +void reportAction ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes , String sufferDes , String execDes ​ , boolean self_included )
 +void reportAction ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes , String sufferDes , String execDes , String style , boolean self_included )
 +void reportActionAuto ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes ,  boolean self_included )
 +void reportActionAuto ( Entity source /*$1*/ , Entity target /*$2*/ , Entity[] objects /*$3..$n*/ , String thirdPersonDes , String style , boolean self_included )
 +</​code>​
 +
 +Funcionan exactamente igual que los de la clase Room, y lo que hacen es mostrar la notificación en todas las habitaciones en las que esté el Item dado.
 +
 +==Notificar sobre algo que ha ocurrido con una criatura==
 +
 +No hay métodos específicos en la clase Mobile, ya que una criatura siempre está en una sola habitación,​ fácilmente accesible mediante getRoom(). Por lo tanto, podemos hacer estas notificaciones fácilmente así:
 +
 +''​elMobile.getRoom().informAction(...)\\
 +elMobile.getRoom().informActionAuto(...)''​
notificacion_de_acciones_y_sucesos.txt · Última modificación: 2010/12/10 13:51 por al-khwarizmi