[LAG1] question classe Passage P2

Voir le sujet précédent Voir le sujet suivant Aller en bas

[LAG1] question classe Passage P2

Message  jayrko le Lun 03 Mar 2008, 17:19

Voilà j'ai une petite question à propose du la classe passage:

- Es que les segments peuvent se répéter lorsqu'on fait appel au constructeur :
Passage ()
Construit le tableau en juxtaposant les six segments de plateau du jeu dans
un ordre et sens aléatoires.

Car je vois comment faire pour créé un plateau avec un ptit random, mais honnêtement ça fait qq heures que je cherche une solution pour que chaque segment ne soit pris qu'une seule fois silent Si jamais qq à des infos, merci bcp

jayrko

Nombre de messages : 89
Age : 29
Prénom : NiCoo
Statut : etudiant
Localisation : WAterloo
Date d'inscription : 19/01/2007

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  Wark le Lun 03 Mar 2008, 17:44

jayrko a écrit:Voilà j'ai une petite question à propose du la classe passage:

- Es que les segments peuvent se répéter lorsqu'on fait appel au constructeur :
Passage ()
Construit le tableau en juxtaposant les six segments de plateau du jeu dans
un ordre et sens aléatoires.

Car je vois comment faire pour créé un plateau avec un ptit random, mais honnêtement ça fait qq heures que je cherche une solution pour que chaque segment ne soit pris qu'une seule fois silent Si jamais qq à des infos, merci bcp

Est-ce que tu peux clôner une pièce dans le jeu réel ?

La réponse je crois, est claire. Smile

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  jayrko le Lun 03 Mar 2008, 17:53

bah justement je me suis dis la même chose, pour ça on est clair Wink pas de doublons d'ailleurs bête question ^^
Mais juste le fait que je ne vois vraiment pas comment je peut avoir une série de 6 chiffres de 0 à 5 qui me seront donnés aléatoirement, à par avec une liste qui me mélangerai ces 6 chiffres et me les retournerai silent

jayrko

Nombre de messages : 89
Age : 29
Prénom : NiCoo
Statut : etudiant
Localisation : WAterloo
Date d'inscription : 19/01/2007

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  guerillero le Lun 03 Mar 2008, 18:24

Personnellement, j'ai construis mon constructeur avec un petite méthode utile: (jayrko a casi trouvé)

=> randomTabNb (int n )
int n correspond à la taille de mon tableau, dans ce cas-ci, il sera de 6. (Ce qui correspond au nombre de segments.) Elle a pour but de créer un tableau aléatoire de 6nombres qui ne se répètent pas de 0 à 5.
(random.nextDouble() est très fun à utiliser. une piste!)

( je crée 2 tableaux de 6cases aléatoire )

Cette methode permettra de permuter les lignes des segments de manière aléatoire.
Et qui à son tour va permettre d'inverser ou non les colonnes de manière aléatoire de chaque segments (ex. 1 2 3 4 5 => 5 4 3 2 1 ).

( En gros, si je ne suis pas assez clair... j'utilise plusieurs tableaux à 6cases aléatoires et sans répétitions qui vont déterminer l'ordre et le sens de mes segments )

PS: J'pense que si j'en dis plus, j'me fais fusiller !

guerillero

Nombre de messages : 87
Age : 30
Prénom : Richard
Statut : étudiant
Localisation : Grimbergen
Date d'inscription : 20/09/2007

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  mcd le Lun 03 Mar 2008, 20:28

Attention ! Je ne sais pas ce que tu as en tête mais nextDouble() ne va pas générer 6 nombres différents.
Cela génère une suite aléatoire mais les répétitions sont tout-à-fait possibles. Smile

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  guerillero le Lun 03 Mar 2008, 20:49

Oui, il suffit de chercher un peu pour trouver une manière afin qu'il n'y ait pas de répétitions. Vive les maths :p
randomList.class - ça tourne bien !


Dernière édition par guerillero le Lun 03 Mar 2008, 22:16, édité 1 fois

guerillero

Nombre de messages : 87
Age : 30
Prénom : Richard
Statut : étudiant
Localisation : Grimbergen
Date d'inscription : 20/09/2007

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  wapiti le Lun 03 Mar 2008, 22:00

Cette partie de mon code tiens sur 6 lignes alien


Dernière édition par wapiti le Lun 03 Mar 2008, 22:17, édité 1 fois

wapiti

Nombre de messages : 31
Prénom : Khris'
Date d'inscription : 07/09/2007

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  guerillero le Lun 03 Mar 2008, 22:14

J'crois pas qu'on peut publier comme ça, une partie du boulot :p
D'ailleurs, j'enleve mon lien sur mon .class. Y'a de l'abus ! ^^


Dernière édition par guerillero le Lun 03 Mar 2008, 22:16, édité 1 fois

guerillero

Nombre de messages : 87
Age : 30
Prénom : Richard
Statut : étudiant
Localisation : Grimbergen
Date d'inscription : 20/09/2007

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  guerillero le Mar 04 Mar 2008, 06:25

J'viens d'allumer le pc et regarder ma randomList... c'est bon, ça fait 6lignes aussi ! Rolling Eyes

guerillero

Nombre de messages : 87
Age : 30
Prénom : Richard
Statut : étudiant
Localisation : Grimbergen
Date d'inscription : 20/09/2007

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  Invité le Ven 14 Mar 2008, 22:02

Purée, les gars vous êtes si clair ds vos expressions: "Ma partie du code fait 6 lignes" . C'est n'importe quoi. Pourriez vous svp vous exprimerz plus clairement parce que je bloque sur ce constructeur. Et dire un peu plus en détail , au lieu de dire:"je l'ai fait en 2 min, moi je l'ai fait les yeux fermés".
Very Happy

Invité
Invité


Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  Invité le Ven 14 Mar 2008, 22:03

ou que sais-je encore,..."

Invité
Invité


Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  g28502 le Ven 14 Mar 2008, 23:56

Je prétends pas que ça soit le meilleur mais mon algorithme je l'ai fait à peu près de la sorte, il est divisé en deux 'grosses' étapes :

1). Je travaille avec deux tableaux d'entiers, un pour l'ordre des segments (1 à 6, avec le calcul Math.random() adéquat ... Suffit de chercher sur google si tu bloques vraiment sur ça, c'est vite fait trouvé Smile Ne pas oublier un if ou autre pour éviter les valeurs identiques) et un autre pour le sens (-1 ou 1, aussi avec Math.random()).
2). Une fois ces tableaux crées, suffit de les mettre en relation. Par exemple sens[0] sera le sens du segment ordre[0] etc (avec un if-else tu sais gérer les deux sens facilement), le tout dans une boucle et ça fera l'affaire Very Happy
J'espère t'avoir correctement guidé sans pour autant te mettre la réponse sous la langue Smile


J'en profite pour poser une question à ce propos. Dans mon constructeur Passage(), je fais appel à Passage(int[], int[]) pour ne pas écrire deux fois le même code ... Est-ce 'autorisé' ... Enfin cela pose-t-il problème plutôt drunken ? (suis-je clair surtout ? alien )

Merci.

g28502

Nombre de messages : 18
Age : 29
Prénom : Miguel
Date d'inscription : 06/10/2007

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  mcd le Sam 15 Mar 2008, 08:54

g28502 a écrit:Dans mon constructeur Passage(), je fais appel à Passage(int[], int[]) pour ne pas écrire deux fois le même code ... Est-ce 'autorisé' ... Enfin cela pose-t-il problème plutôt drunken ? (suis-je clair surtout ? alien )
Non seulement c'est autorisé mais c'est même une bonne idée sunny

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  Invité le Sam 15 Mar 2008, 14:13

J'ai essaye de comprendre ton idée, mais je trouve que je n'ai pas eu plus que ce que j'ai eu au labo, je me demandais si quelqu'un pourrait donner plus de détail. Parce que moi j'ai pensé à un tableau de boolean et un compteur pour éviter les répétitions, mais ce random dans ma conditon tanque fait une boucle infini.
1) en fait à la crétion d'un tableau de booleans, ts les elts sont à faux, dc si le random donne un chiffre entre 0 et 5(taille du tableau), je verifie si l'elt du tableau de booleans à l'indice correspondant au chiffre rétourné par le random n'est pas à faux, s'il est à faux alors je fait le traitement, càd je prends le segment correspondant à ce chiffre dans le tableau de segments et je le copie dans le passage, ensuite je fait passer compteur+1, et je fait passer l'elt du tab de booleans qui était à faux, à vrai.
2) Et donc je vais bouler tt ce traitement(je ne sais pas si ça se dit, mais bon) jusqu'à ce que mon compteur soit plus petit ou égal 6 (le nombre de segments), pour cela j'utilise un tant que(j'inclus tt ça ds mon tant que). Bref c le reflet de mon code pour le 1er constructeur.
Je pense avoir émis clairment mes idées en Java. J'ai fait les tests et tt, mais bon, la boucle infini tourne avec le random qui donne sans cesse en donnant les chiffres aléatoires, j'ai l'impression que le random tourne à cause de la condition de tant que sans jamais entrer la condition if qui joue avec les tableaux de booleans(controleur de non répétitions de segments).
Bref, je ne comprens pas pq, ça ne marche pas, je voulais passer à autre chose ds mon projet, parce que le temps, ça avance, et Ms MCD, mon prof de java, ne sera en plus pas là ce lundi et mardi Crying or Very sad

Invité
Invité


Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  mcd le Sam 15 Mar 2008, 15:34

Il faut débugger.
Est-ce que ton random fournit bien toujours des nombres différents ?
Est-ce que ton random fournit parfois les nombres aux bords (0 et 5) ?
Est-ce que quand le random te donne un nombre différent tu bascules bien le booléen correspondant ?
Est-ce que tu incrémentes bien le compteur du nombre de segments placés ?

Et ne réponds pas "oui, mon code le fait". Tu en es bien sûr convaincu mais est-ce vraiment le cas ?
Utilise un débuggeur où ajoute des println() pour vérifier que c'est bien ce que tu crois.

Marco.

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  Invité le Sam 15 Mar 2008, 18:38

Enfin, j'ai compris, c'est pas mon algorithme qui foire mais le serveur de Iorek qui foire, il execute mes anciens pgms, mais il ne veut pas exécuter mes nouveaux, je ne sais pas pq,je pense qu'à l'école il executera, ne me prends pas mal Iorek, mais sur ton serveur il n'y a plus moyen de faire gr chose, parce qu'il ne me fais même pas un bête affichage d'un message. Mais je te remercie tt de même, car j'ai pu en profiter.

Invité
Invité


Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  Invité le Lun 17 Mar 2008, 23:15

Enfin, c même pas le serveur de iorek qui foire. En fait, c dans mon tant que, j'ai du mettre plus petit que 6 (ce qui correspond à mon nombre de segments) au lieu de 7.Fin bref, c'est grâce Ms MWA que j'ai pu "guérir cette partie de mon code". Et ça marche mtn affraid

Invité
Invité


Revenir en haut Aller en bas

Re: [LAG1] question classe Passage P2

Message  Contenu sponsorisé Aujourd'hui à 01:09


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum