Tri aléatoire =) Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment : -45%
Four encastrable Hisense BI64213EPB à ...
Voir le deal
299.99 €

 

 Tri aléatoire =)

Aller en bas 
4 participants
AuteurMessage
Kabcorp
Utilisateur confirmé: Rang **
Kabcorp


Messages : 315
Localisation : Savoie
Projet Actuel : trop...

Tri aléatoire =) Empty
MessageSujet: Tri aléatoire =)   Tri aléatoire =) EmptyMer 22 Mai 2013 - 14:53

Yop! Ca fais un petit moment que je ne suis pas venu sur le CBNA car tout roulait pour moi niveau syntaxes mais la...

Mon souci en version simplifié:
Comment réaliser un tri (Aléatoire) de 9 chiffres dans un tableau de 3x3?

Exemple:

random()
Tri aléatoire =) Image5ne
random()
Tri aléatoire =) Image3bv
random()
Tri aléatoire =) Image2uwb

Mais surtout comment comment dire simplement au programme que tel chiffre est déja utilisé dans une case précédente donc GOTO NEXT Smile

merci de vos réponses! bye
Revenir en haut Aller en bas
http://kabcorp.fr
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Tri aléatoire =) Empty
MessageSujet: Re: Tri aléatoire =)   Tri aléatoire =) EmptyMer 22 Mai 2013 - 15:49

http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
Un peu de bidouille d'indices et c'est bon !
Revenir en haut Aller en bas
hofmeister
Bavard



Messages : 109

Tri aléatoire =) Empty
MessageSujet: Re: Tri aléatoire =)   Tri aléatoire =) EmptyMer 22 Mai 2013 - 15:59

En moins performant mais plus simple, tu peux aussi utiliser une map, initialiser ses cases à 0, puis faire une boucle qui n'ajoute la valeur que si la case est égale à 0.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Tri aléatoire =) Empty
MessageSujet: Re: Tri aléatoire =)   Tri aléatoire =) EmptyMer 22 Mai 2013 - 16:04

Si tu veux pas te prendre la tête, tu crée une liste avec les éléments de 1 à 9, tu la mélange, et tu la met direct dans ton tableau 2d.

Pour cela:
for(i=0; i<9; i+=1)
matrix[i mod 3, i div 3] = ds_list_find_value(list, i)
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Tri aléatoire =) Empty
MessageSujet: Re: Tri aléatoire =)   Tri aléatoire =) EmptyMer 22 Mai 2013 - 16:23

onilink_ : ça devient du Goldberg là :p

L'algorithme de Durstenfeld implémenté :
Code:
grille[0, 0] = 1;
for(i = 1; i < 9; i += 1) {
    j = irandom_range(0, i);
    grille[i mod 3, i div 3] = grille[j mod 3, j div 3];
    grille[j mod 3, j div 3] = i + 1;
}
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Tri aléatoire =) Empty
MessageSujet: Re: Tri aléatoire =)   Tri aléatoire =) EmptyMer 22 Mai 2013 - 16:28

Oh sympa celui ci :b
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Tri aléatoire =) Empty
MessageSujet: Re: Tri aléatoire =)   Tri aléatoire =) EmptyMer 22 Mai 2013 - 16:51

Bah pas besoin de sortir l'artillerie lourde pour remplir un tableau avec les nombres de 1 à 9 :p
Revenir en haut Aller en bas
Kabcorp
Utilisateur confirmé: Rang **
Kabcorp


Messages : 315
Localisation : Savoie
Projet Actuel : trop...

Tri aléatoire =) Empty
MessageSujet: Re: Tri aléatoire =)   Tri aléatoire =) EmptyMer 22 Mai 2013 - 17:05

Merci a vous! j'éssairais tout ca ce soir Smile
Revenir en haut Aller en bas
http://kabcorp.fr
Kabcorp
Utilisateur confirmé: Rang **
Kabcorp


Messages : 315
Localisation : Savoie
Projet Actuel : trop...

Tri aléatoire =) Empty
MessageSujet: Re: Tri aléatoire =)   Tri aléatoire =) EmptyJeu 6 Juin 2013 - 14:19

Code:
var G,G0,W,H,X,X0,Y,Y0;
G = argument0
W = ds_grid_width(G)
H = ds_grid_height(G)
for (X=0;X<W;X+=1)
{
    for (Y=0;Y<H;Y+=1)
    {
        X0=floor(random(W))
        Y0=floor(random(H))
        G0=ds_grid_get(G,X,Y)
        ds_grid_set(G,X,Y,ds_grid_get(G,X0,Y0))
        ds_grid_set(G,X0,Y0,G0)
    }
}

Impecable merci
Revenir en haut Aller en bas
http://kabcorp.fr
Contenu sponsorisé





Tri aléatoire =) Empty
MessageSujet: Re: Tri aléatoire =)   Tri aléatoire =) Empty

Revenir en haut Aller en bas
 
Tri aléatoire =)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» nom aléatoire
» mosaîque aléatoire (résolu)
» spawn aléatoire
» Plateforme aléatoire
» Optimisation aléatoire

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: