AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-47%
Le deal à ne pas rater :
SAMSUNG T7 Shield Bleu – SSD Externe 1 To à 89,99€
89.99 € 169.99 €
Voir le deal

 

 Problème : variable qui fais référence a un tableau

Aller en bas 
4 participants
AuteurMessage
Gounet
Débutant



Messages : 22

Problème : variable qui fais référence a un tableau Empty
MessageSujet: Problème : variable qui fais référence a un tableau   Problème : variable qui fais référence a un tableau EmptyJeu 18 Sep 2014 - 17:40

Salut a tous
Je suis désoler pour mon orthographe médiocre je fais au mieux, si vraiment je vous fais pleurer des larmes de sang qu’un modo n’hésite pas me le dire et je verrai à faire relire mes messages (ce qui est vraiment pas pratique).
Je suis nouveau sur le forum, si il faut faire une présentation merci de me le faire savoir.

Voici mon problème :
J’ai plusieurs (20) tableaux à 2 dimensions et je voudrai tous les trier mais j’aimerai éviter de dupliquer mon code 20 fois.
J’avais dans l’idée de mettre la référence au tableau dans une variable mais cela n’a pas marché.
Voici le tri  de base utilisé (tri a bulles) :

code a écrit:

exchange=1
tx = 0
ty = 0


// tri a bulles sur les Y du tableau G_index_1


while ( exchange == 1)
{
   exchange = 0
   for ( i=0 ; i < (array_length_2d(G_index_1,1)-1) ; i+=1)
   {
       if array_sort[1,i] > array_sort[1,i+1]
       {
           tx = G_index_1[0,i+1]
           ty = G_index_1[1,i+1]
           
           G_index_1[0,i+1] = G_index_1[0,i]
           G_index_1[1,i+1] = G_index_1[1,i]
           
           G_index_1[0,i] = tx
           G_index_1[1,i] = ty
           
           exchange = 1
           
       }
   }    
}


J’ai tenté de modifier le code comme ceci, mais ça ne marche plus

code a écrit:


exchange=1
tx = 0
ty = 0

array_sort = G_index_1
while ( exchange == 1)
{
   exchange = 0
   for ( i=0 ; i < (array_length_2d(array_sort,1)-1) ; i+=1)
   {
       if array_sort[1,i] > array_sort[1,i+1]
       {
           tx = array_sort[0,i+1]
           ty = array_sort[1,i+1]
           
           array_sort[0,i+1] = array_sort[0,i]
           array_sort[1,i+1] = array_sort[1,i]
           
           array_sort[0,i] = tx
           array_sort[1,i] = ty
           
           exchange = 1
           
       }
   }
}

Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Problème : variable qui fais référence a un tableau Empty
MessageSujet: Re: Problème : variable qui fais référence a un tableau   Problème : variable qui fais référence a un tableau EmptyJeu 18 Sep 2014 - 17:47

Ah oui, GM et les arrays...
Y a plusieurs solutions envisageables, mais déjà, sous quelle version es-tu?
Revenir en haut Aller en bas
Gounet
Débutant



Messages : 22

Problème : variable qui fais référence a un tableau Empty
MessageSujet: Re: Problème : variable qui fais référence a un tableau   Problème : variable qui fais référence a un tableau EmptyJeu 18 Sep 2014 - 17:58

GM studio.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Problème : variable qui fais référence a un tableau Empty
MessageSujet: Re: Problème : variable qui fais référence a un tableau   Problème : variable qui fais référence a un tableau EmptyJeu 18 Sep 2014 - 18:34

Alors dans GM Studio, tu peux passer un array en paramètre a une fonction, et le renvoyer:
http://docs.yoyogames.com/source/dadiospice/002_reference/001_gml%20language%20overview/401_06_arrays.html

Du coup, tu crées une fonction sortArray qui prend en paramètre ton tableau et le tris.
Par contre de ce que j'ai vu dans leur doc, le tableau est pas passé par référence mais copié, du coup faut le retourner et le réassigner, du genre:
array = sortArray(array)
Le soucis c'est que si ton tableau est gros ça va pas du tout être opti, mais au moins c'est une solution pratique. (enfin si t'utilises un tris a bulle m'étonnerais que ton array soit conséquent)

Sinon, y a les ds_list qui ont une fonction sort, et qui sont aussi rapides que des tableaux.
La seule différence et que les fonctions d’accès sont un peu chiantes a écrire a la place d'un bête []...

Si t'as des soucis avec le fait que ton tableau soit en 2d, il suffit de le repasser en 1d en doublant juste sa taille, et en accédant aux contenu avec un index de la forme x + width*y.
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

Problème : variable qui fais référence a un tableau Empty
MessageSujet: Re: Problème : variable qui fais référence a un tableau   Problème : variable qui fais référence a un tableau EmptyJeu 18 Sep 2014 - 19:22

"Si t'as des soucis avec le fait que ton tableau soit en 2d, il suffit de le repasser en 1d en doublant juste sa taille, et en accédant aux contenu avec un index de la forme x + width*y."
C'est exactement ce que j'allais dire, et c'est le mieux (le plus simple) a faire !
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Gounet
Débutant



Messages : 22

Problème : variable qui fais référence a un tableau Empty
MessageSujet: Re: Problème : variable qui fais référence a un tableau   Problème : variable qui fais référence a un tableau EmptyJeu 18 Sep 2014 - 23:56

C'est vrais que la fonction semble très logique ^^. Je vais voir comment crée les fonctions. Merci
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

Problème : variable qui fais référence a un tableau Empty
MessageSujet: Re: Problème : variable qui fais référence a un tableau   Problème : variable qui fais référence a un tableau EmptySam 20 Sep 2014 - 17:33

Sinon, il y a toujours les très amicales bien qu’anciennes "ds_grid"...
Revenir en haut Aller en bas
http://www.tdms.fr
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Problème : variable qui fais référence a un tableau Empty
MessageSujet: Re: Problème : variable qui fais référence a un tableau   Problème : variable qui fais référence a un tableau EmptySam 20 Sep 2014 - 20:01

Mouai, les ds_grid ont pas de fonction sort et sont plus adaptées a gérer des données de jeu style RTS vu les méthodes.
Ça me parait un peu lourd syntaxiquement pour faire juste ce qu'il souhaite :p
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

Problème : variable qui fais référence a un tableau Empty
MessageSujet: Re: Problème : variable qui fais référence a un tableau   Problème : variable qui fais référence a un tableau EmptyDim 21 Sep 2014 - 18:38

bha après, ya les ds_list et ds_jesaisplusquoi qui permettent du tri de la gestion d'inventaire et autre.

Mais c'est vrai que, par habitude, si je veux faire des tableaux de tableaux, je prends des ds_grid.

Après, ya probablement plus optimisé, et peut être même des fonctions spéciales dans GMS...
Mais je suis encore et toujours un vieux de la vielle qui reste sur GM6 =)
Revenir en haut Aller en bas
http://www.tdms.fr
Contenu sponsorisé





Problème : variable qui fais référence a un tableau Empty
MessageSujet: Re: Problème : variable qui fais référence a un tableau   Problème : variable qui fais référence a un tableau Empty

Revenir en haut Aller en bas
 
Problème : variable qui fais référence a un tableau
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Reset variable (tableau)
» variable, tableau a 3 dimensions
» problème de variable
» Problème Variable et Problème Event Draw
» Probleme Variable

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: