Salut!
C'est clair, que utiliser une nouvelle liste permettrait de s'en sortir 
assez rapidement, sans tout casser avant une release ou une beta :)
Sinon, tu parles de virer l'état "dead", et ça je trouve que c'est une très 
bonne idée! Mais bon, mon dépôt est déja dans un pauvre état, donc ça 
attendra :)

Lodesi

On Mon, Sep 18, 2006 at 10:14:02AM +0200, PERRE Y          SiseProIsaTig wrote:
> Salut Lodesi,
> 
> Je ne suis pas trop pour ce changement. Comme tu le dis, les projectiles et 
> les particules s'en sortent très bien. Il n'y a que les characters qui sont 
> dans un cas - il est vrai - un peu spécial.
> 
> Il faudrait peut-être un nouvel objet de type "stèle" à la mémoire des braves 
> qui sont tombés au combat :). Quand un character meurt, on le retire de la 
> liste des personnages et on créé une stèle qu'on ajoute à la liste des objets.
> 
> Quand une stèle sort de l'écran, elle est supprimée comme le serait une 
> particule ou un projectile. En gros, ça donnerait un truc du genre :
> 
> class Stele : public PhysicalObj
> {
> ...
> };
> 
> avec dans Character::Die :
> ...
> Stale * rip = new Stele(...);
> lst_objects.AddObject(rip);
> ...
> 
> Mais tu peux aussi très bien laisser la classe Character occuper le rôle de 
> cette classe Stèle (lorsque son état m_alive = DEAD). Il suffirait donc de 
> sortir le personnage de la liste des character et de le mettre dans la liste 
> des objets (sauf s'il sort de l'écran, dans ce cas il est supprimé 
> directement). Si le character (la stèle) sort de l'écran, il est retiré de la 
> liste des objets (m_alive = GHOST). Tu aurais là ce que tu voulais avec un 
> minimum de changement.
> 
> a+
> 
> Drayan
> 
> -----Message d'origine-----
> De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] la
> part de Laurent Defert
> Envoyé : dimanche 17 septembre 2006 03:05
> À : Liste de développement - Wormux
> Objet : [Wormux-dev] Ghost state
> 
> 
> Hi!
> Developpement mail, so in french :p
> 
> Salut!
> Comme j'en avais parlé, j'essaye de virer l'état ghost du code.
> A mon avis, c'est nécessaire parceque c'est une partie de code pas 
> claire. On utilise l'état ghost dès qu'un objet sort de l'écran ou dès 
> que l'objet n'effectue plus d'action dans le jeux (cf. les projectiles).
> Mais quand on regarde le source ces objets sont en fait bien présent 
> dans le moteur (on continue à appeler les méthode draw/refresh, à faire 
> des test dessus...).
> 
> Dans l'ensemble, ça ne pose pas trop de problème: pour les particules et 
> les projectiles, on peut les effacer au lieu de leur mettre un état 
> ghost.
> Par contre, y'a un sérieux problème avec les characters. Si on efface le 
> character en train de jouer wormux plante au premier appel de 
> ActiveCharacter().
> Pour régler ça, je vois 2 solutions:
> solution facile: au lieu d'effacer les characters morts, on les déplace dans 
> une nouvelle liste de la class Team
> solution propre (mais longue et pénible ;): on se débrouille pour 
> qu'aucun appel de ActiveCharacter() soit effectué sur un character qui 
> vient de mourir.
> 
> Donc j'appelle à l'aide pour savoir si je dois oublier mon idée de 
> virer l'état ghost, si je prends la solution facile, si on 
> s'embarque dans la solution difficile ou si vous avez une solution 
> propre et facile à proposer :)
> 
> a+
> 
> Lodesi
> -- 
> 
> _______________________________________________
> Wormux-dev mailing list
> Wormux-dev@gna.org
> https://mail.gna.org/listinfo/wormux-dev
> 
> 
> =======================================================
> 
> Ce message et toutes les pieces jointes (ci-apres le "message") 
> sont confidentiels et etablis a l'intention exclusive de ses destinataires.
> Toute utilisation ou diffusion non autorisee est interdite. 
> Tout message electronique est susceptible d'alteration. 
> La SOCIETE GENERALE et ses filiales declinent toute responsabilite
> au titre de ce message s'il a ete altere, deforme ou falsifie.
>                                        
> =======================================================
> 
> This message and any attachments (the "message") are confidential
> and intended solely for the addressees.
> Any unauthorized use or dissemination is prohibited. 
> E-mails are susceptible to alteration.   
> Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates
> shall be liable for the message if altered, changed or falsified. 
> 
> =======================================================
> 
> _______________________________________________
> Wormux-dev mailing list
> Wormux-dev@gna.org
> https://mail.gna.org/listinfo/wormux-dev

-- 

_______________________________________________
Wormux-dev mailing list
Wormux-dev@gna.org
https://mail.gna.org/listinfo/wormux-dev

Répondre à