ambar-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mine-dev] Re: Version 2.0 de los PNJs, ¡ funcionando!


From: Andres Moya
Subject: [Mine-dev] Re: Version 2.0 de los PNJs, ¡ funcionando!
Date: Tue, 19 Aug 2003 11:41:27 -0500

Holas.

> Ultimas noticias: la Tutora habla!!!! Despues de desmontar por 
> completo la version 1.0 del sistema de diálogos y sustituirla por el 
> nuevo mecanismo, los PNJs ya son capaces de activar guiones de 
> Operatividad. ¡Esto marcha! 8-D

MOOOOLAAAAA :D

Lástima que estoy una semanita de viahe y desde el ciber no puedo 
probar el programa :(, el martes que viene estaré en casa de nuevo. LO 
QUIERO VERRRR...

> El diseño de los métodos "hablar", "gritar" y "susurrar" de la clase
> Personaje está mal hecho. El feedback "Dices: <mensaje>" se produce
> desde la  [...] el jugador que está hablando no ve el feedback de 
> sus propios mensajes cuando habla con el PNJ.

Tal como lo tenía yo previsto, las acciones del Personaje las ven los 
otros personajes de la sala, pero él mismo no. El feedback para el 
jugador propio se consigue realizando una acción actuar_uno_mismo 
además de la que ven los otros. Así se permite que el texto del 
feedback sea distinto de lo que ven los demás.

No sé si os parece bien, pero yo creo que es mejor así.


> El programa casca al intentar salir de la habitación en la que está
> la tutora. Y no tengo ni idea de cual puede ser la causa (me pasa
> desde que empecé a tocar la clase InterfazPNJHablante). Aqui está el
> volcado de la excepción
> [...]
> File "./sala.py", line 868, in salir_personaje
>     del self.__personajes[personaje.id]
> KeyError: peregrino1


Tiene pinta de que por algún motivo el personaje que está saliendo no 
está en la lista self.__personajes de la sala, por eso al intentar 
borrarlo da error. Hay que ver en qué momento se ha perdido el 
personaje dentro de la lista.

Los otros errores son derivados del primero, se ve que al saltar la 
primera excepción algún objeto se queda mal, sin cumplir la invariante, 
y por eso se producen nuevos errores. Esto sólo se arregla haciendo un 
repaso de todo el código examinando el funcionamiento de todas y cada 
una de las funciones en caso de excepción. Ya lo haré cuando tenga 
tiempo, pero de momento podemos aplazarlo, ya que sólo produce 
problemas secundarios cuando hay algún otro problema principal.

Weno, os dejo que me voy a la playa :D

Ahi os quedais, hasta la semana que viene }:-)

---
Hirunatan









-- 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]