Oui c'est vrai qu'en le disant, il apparaît clairement que l'état DEAD est 
également un état tout pourri ... Il ne reste qu'un état ALIVE qui n'a plus de 
signification puisque le seul état "valide" pour nous.

On peut donc légitimement se poser la question sur l'utilité d'un tel champ ...

Pour la version 2.0 de wormux ;) il faudra surement virer ce champ. L'état d'un 
objet sera déterminé par son emplacement dans les files d'objets :
Etat Vivant = objet dans la liste des characters
Etat Mort = objet dans la liste des soldats mort au champ d'honneur
Etat Particule = objet dans la liste des particules.

Si objet sort de l'écran -> le supprimer de la liste des [characters|particules]
Si objet explose -> le supprimer de la liste des particules

Ghost n'ayant plus de sens, il serait supprimé pour être remplacé par une 
méthode du type DeleteObjectFromPhysicalEngine (euh ... peut être un peu plus 
court quand même :).

Comme ça, plus de test du style :
if(IsGhost()) 

Les objets sont traités à la chaîne tous de la même façon :

for (object = list_objects.begin() ; object != list_object.end() ; ++object) {
  object->Refresh();
  switch(object->State()) {
    case EXPLODE :
    case OUT_OF_MAP : DeleteObject(object) ; break ;
  }
}

Bon bin on a du taf pour quelques années avec ça ...

-----Message d'origine-----
De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] la
part de Laurent Defert
Envoyé : lundi 18 septembre 2006 12:44
À : Discution sur le d& #233; veloppement de Wormux.
Objet : Re: [Wormux-dev] Ghost state


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

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

Répondre à