| Problème : variable qui fais référence a un tableau | |
|
|
Auteur | Message |
---|
Gounet Débutant
Messages : 22
| Sujet: Problème : variable qui fais référence a un tableau Jeu 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 } } }
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Problème : variable qui fais référence a un tableau Jeu 18 Sep 2014 - 17:47 | |
| Ah oui, GM et les arrays... Y a plusieurs solutions envisageables, mais déjà, sous quelle version es-tu? |
|
| |
Gounet Débutant
Messages : 22
| Sujet: Re: Problème : variable qui fais référence a un tableau Jeu 18 Sep 2014 - 17:58 | |
| |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Problème : variable qui fais référence a un tableau Jeu 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.htmlDu 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. |
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: Problème : variable qui fais référence a un tableau Jeu 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 ! |
|
| |
Gounet Débutant
Messages : 22
| Sujet: Re: Problème : variable qui fais référence a un tableau Jeu 18 Sep 2014 - 23:56 | |
| C'est vrais que la fonction semble très logique ^^. Je vais voir comment crée les fonctions. Merci |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Problème : variable qui fais référence a un tableau Sam 20 Sep 2014 - 17:33 | |
| Sinon, il y a toujours les très amicales bien qu’anciennes "ds_grid"... |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Problème : variable qui fais référence a un tableau Sam 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
|
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Problème : variable qui fais référence a un tableau Dim 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 =) |
|
| |
Contenu sponsorisé
| Sujet: Re: Problème : variable qui fais référence a un tableau | |
| |
|
| |
| Problème : variable qui fais référence a un tableau | |
|