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