Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=732714effced04cb38d61069f18e1b31Médailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Gestion des instances de struct
Aller à la page Précédente  1, 2, 3, 4, 5  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Tutoriels -> En validation
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Vladadamm
Floodozaurus


Inscrit le: 11 Fév 2011
Messages: 2151
Sujets: 114
Spécialité en worldedit: Chasser le Dragon, puis l'exterminer proprement avec une petite cuillère et une poêle.


MessagePosté le: 26/01/13 19:53    Sujet du message: Citer

fulldragon a écrit:
aucun d'entre vous n'a pensé à des fautes de frappes ? >< des copier coller ratés ? :p
vous êtes dure avec moi à penser que j'ai fait exprès que je pensais réellement qu'il fallait faire comme ça ><

Moi si.

Quand on crée un sujet, le titre doit commencer par une Majuscule, surtout quand c'est un tutoriel. Pareil au début des phrases.

Après, "j'ai mi" ? "apparaitre" ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 28/01/13 19:13    Sujet du message: Citer

ton idée de faire le tableau à l'envers limite le nombre d'utilisation dans la partie à 8000 et des poussières.

je veux pas faire mon c**** et dire que c'est très limité, mais c'est je pense plus désavantageux que de faire une loop qui trouvera à quoi this est égale (dans le tableau)
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Sapeur-Goblin
Floodeur prématuré


Inscrit le: 14 Oct 2009
Messages: 719
Sujets: 40
Spécialité en worldedit: Les bugs
Médailles: 1 (En savoir plus...)
Créateur d'unité (Quantité : 1)

MessagePosté le: 28/01/13 19:22    Sujet du message: Citer

Comment ça? Ça ne change rien : tu parcours juste le tableau dans l'autre sens. Et puis de toute façon les array ont une taille limitée.
Et j'avoue que l'idée est plutôt ingénieuse, gj TB Wink.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 28/01/13 19:28    Sujet du message: Citer

Sapeur-Goblin a écrit:
Comment ça? Ça ne change rien : tu parcours juste le tableau dans l'autre sens. Et puis de toute façon les array ont une taille limitée.
Et j'avoue que l'idée est plutôt ingénieuse, gj TB Wink.


bin oui elles ont une taille limité c'est justement ce que j'ai dit.

il dit qu'on a ainsi plus qu'à détruire l'instance, sous entendu pas de I = I - 1 ni de réindexing, donc I a plus de chance d'atteindre la limite.

je viens d'apporter une correction avec ma méthode, à vous d'en juger. et si j'ai mal compris la méthode de tb plus d'explication seront appréciées Smile
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 28/01/13 20:05    Sujet du message: Citer

Je ne vais pas refaire un cours de "compilation" du vJass en jass mais le nombre d'instances d'une structure est de 8190 : (1 à 8190), donc une array convient très bien pour stocker toutes ces instances en cours d'utilisation.
Il est possible d'étendre la taille d'une struct, mais c'est aussi possible de le faire de la même façon pour une array, donc y'a aucun problème, le code vJass restera strictement le même.

La souci n'était pas la façon dont était stocké les instances en cours, mais plutôt avec la méthode de boucle que tu proposais, il n'était pas possible de supprimer une instance sans "fuck up" la boucle.
La solution est simple et je l'ai donnée, et non les limitations ne changent pas.
Je t'invite encore une fois à écrire un tableau sur une feuille de papier et simuler un parcours avec destruction d'instance et d'écrire la transformation du tableau à chaque étape.

De toute façon je suppose que cette solution existe dans moult et moult cours/tuto à propos d'une telle structure dans la programmation en général.
Je n'invente rien, je ne fait que redécouvrir et utiliser de la logique.

Flemme d'étudier ta solution mais le problème ne devrait pas être résolu je présume.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 28/01/13 20:14    Sujet du message: Citer

Troll-Brain a écrit:
Je ne vais pas refaire un cours de "compilation" du vJass en jass mais le nombre d'instances d'une structure est de 8190 : (1 à 8190), donc une array convient très bien pour stocker toutes ces instances en cours d'utilisation.
Il est possible d'étendre la taille d'une struct, mais c'est aussi possible de le faire de la même façon pour une array, donc y'a aucun problème, le code vJass restera strictement le même.

La souci n'était pas la façon dont était stocké les instances en cours, mais plutôt avec la méthode de boucle que tu proposais, il n'était pas possible de supprimer une instance sans "fuck up" la boucle.
La solution est simple et je l'ai donnée, et non les limitations ne changent pas.
Je t'invite encore une fois à écrire un tableau sur une feuille de papier et simuler un parcours avec destruction d'instance et d'écrire la transformation du tableau à chaque étape.

De toute façon je suppose que cette solution existe dans moult et moult cours/tuto à propos d'une telle structure dans la programmation en général.
Je n'invente rien, je ne fait que redécouvrir et utiliser de la logique.

Flemme d'étudier ta solution mais le problème ne devrait pas être résolu je présume.



sapeur vient de m'expliquer, je savais juste pas que tu voulais rjaouter un membre à la struct et faire plus que destroy l'instance. la j'ai compris.

ma solution règle à 100% le problème, c'est juste un peu sale. je vais corriger ça.
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 28/01/13 20:19    Sujet du message: Citer

Je témoigne, le problème n'est pas résolu.
Pour être clair, TB propose ça :
Jass:
          private static method Nom2 takes nothing returns nothing
               //celle qui exécutera les instances une à une
               local integer i = I

               loop
                    exitwhen i == 0
                    //les actions à exécuter pour chaque instance
                    set i = i - 1
               endloop
          endmethod

Ce qui règle le problème et y'a pas de limitation qui tienne et tout le monde est content.

Après, ce que je proposais avec le paramètre "index", c'est une méthode qui remplacerai ta façon toute moche d'identifier ton "i" dans "destroy".

Hum, grillé, mais je suis pas sûr que mon message soit inutile...
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 28/01/13 20:34    Sujet du message: Citer

tout a été corrigé.
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 28/01/13 20:42    Sujet du message: Citer

Nooooot.

Jass:
          method destroy takes nothing returns nothing
                local integer i = this.i

                call this.deallocate()
               
                set I = I - 1
                if I == 0 then
                    call PauseTimer(T)
                endif

                set This[i] = This[I]
                set This[i].i = i
          endmethod


Par contre, c'est vrai que j'avais mal fait la boucle au-dessus. Bravo de pas être tombé dans le piège (ahum, c'tait pour voir si tu suivais Wink ).
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 28/01/13 20:57    Sujet du message: Citer

rha j'me suis relu pourtant ><
évidemment, pour voir si je suivais... Rolling Eyes
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 28/01/13 21:01    Sujet du message: Citer

En fait y'a encore une erreur mais ca vient de moi Rolling Eyes
J'ai édité mon post avec le code de la loop.

Elle est "parfaite" maintenant, pas d'itération ni opération superflue, le exitwhen en premier, la décrémentation juste après et seulement après les actions.
Et accessoirement l'index 0 est utilisé :p, ce qui n'était pas le cas dans la précédente version ...
D'ailleurs c'est une très bonne habitude d'appliquer systématiquement cette structure pour une loop ca évite bien des erreurs et rend clair son effet.
Quitte à avoir une incrémentation/décrémentation et éventuellement une définition de variable superflue avant la loop (ce qui n'est pas le cas ici)

Par contre le membre "i" de ta struct ne sert strictement à rien.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 28/01/13 21:08    Sujet du message: Citer

Troll-Brain a écrit:
En fait y'a encore une erreur mais ca vient de moi Rolling Eyes
J'ai édité mon post avec le code de la loop.

Elle est "parfaite" maintenant, pas d'itération ni opération superflue, le exitwhen en premier, la décrémentation juste après et seulement après les actions.
Et accessoirement l'index 0 est utilisé :p, ce qui n'était pas le cas dans la précédente version ...
D'ailleurs c'est une très bonne habitude d'appliquer systématiquement cette structure pour une loop ca évite bien des erreurs et rend clair son effet.
Quitte à avoir une incrémentation/décrémentation et éventuellement une définition de variable superflue avant la loop (ce qui n'est pas le cas ici)

Par contre le membre "i" de ta struct ne sert strictement à rien.


bin la tu en as parlé, tirlititi aussi, sapeur aussi oO
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 28/01/13 21:12    Sujet du message: Citer

Ils ne sont pas exprimés ici à ce sujet en tout cas.
De toute façon les grands esprits se recrontrent Very Happy
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 28/01/13 21:21    Sujet du message: Citer

tirlititi a écrit:
Sinon, faut rajouter un membre "private integer index" dans la structure et l'initialiser correctement (sur "I") dans la méthode "create".


pour sapeur c'est en dehors en effet.

pour toi j'ai juste mal relu un de tes postes (mélange avec ce que disait tirlititi, je regarde pas toujours bien qui dit quoi)
_________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 28/01/13 21:24    Sujet du message: Citer

Je confirme qu'il ne sert à rien en tout cas. (il faut le supprimer)
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Tutoriels -> En validation Toutes les heures sont au format GMT + 1 Heure
Aller à la page Précédente  1, 2, 3, 4, 5  Suivante
Page 2 sur 5

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com