AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

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

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Gounet
Débutant


Messages : 22

MessageSujet: Problème : variable qui fais référence a un tableau   Jeu 18 Sep 2014 - 15: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
avatar

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

MessageSujet: Re: Problème : variable qui fais référence a un tableau   Jeu 18 Sep 2014 - 15: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

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

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

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

MessageSujet: Re: Problème : variable qui fais référence a un tableau   Jeu 18 Sep 2014 - 16: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 *****
avatar

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

MessageSujet: Re: Problème : variable qui fais référence a un tableau   Jeu 18 Sep 2014 - 17: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

MessageSujet: Re: Problème : variable qui fais référence a un tableau   Jeu 18 Sep 2014 - 21: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
avatar

Messages : 7377
Localisation : Essonne

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

Sinon, il y a toujours les très amicales bien qu’anciennes "ds_grid"...

_________________
Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^
l'antique http://www.membres.lycos.fr/thedarkminousite/
Bienvenue au 2519eme utilisateur : monblu !
Revenir en haut Aller en bas
http://www.membres.lycos.fr/thedarkminousite/
onilink_
Modérateur
avatar

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

MessageSujet: Re: Problème : variable qui fais référence a un tableau   Sam 20 Sep 2014 - 18: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
avatar

Messages : 7377
Localisation : Essonne

MessageSujet: Re: Problème : variable qui fais référence a un tableau   Dim 21 Sep 2014 - 16: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 =)

_________________
Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^
l'antique http://www.membres.lycos.fr/thedarkminousite/
Bienvenue au 2519eme utilisateur : monblu !
Revenir en haut Aller en bas
http://www.membres.lycos.fr/thedarkminousite/
Contenu sponsorisé




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

Revenir en haut Aller en bas
 
Problème : variable qui fais référence a un tableau
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» vos menus
» probleme eclairage tableau de bord chrysler
» problème pour allez faire " caca "
» tableau d'eveil
» Problème application eyeliner !!!!

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: