1

Je suis en train de suivre ce tutoriel de Techno-Plaza :
http://www.technoplaza.net/programming/index.cgi?p=review1

J'ai une question très très simple concernant ces commandes :

// randomize the puzzle pieces
for (loop = 0; loop < 16; loop++) {
// select a random puzzle piece
randNum = random(16);

// replace the old piece with the new piece
temp = puzzle[loop];
puzzle[loop] = puzzle[randNum];
puzzle[randNum] = temp;
}

----

Est-ce que quelqu'un pourrait m'expliquer comment les pièces sont échangées, svp ? Je ne comprends pas la différence entre puzzle[loop] et puzzle[randNum], ni la fonction de temp ...

Merci de votre aide smile smile

2

dans ce que tu as posté, on ne voit pas la déclaration de puzzle, mais c'est probablement un tableau à une dimention (une liste de nombre, si tu préfères), quelque chose du genre short puzzle[16];.
Et la variable entre crochets représente le numéro du nombre dans la liste.

Donc on prend un nombre randNum au hasard (grâce à la fonction random) et on prend le randNum-ième nombre de la liste puzzle, et on l'échange avec le loop-ième nombre de la liste.

3

Bien.
Premiere chose, on voit que le puzzle contient 16 pieces.
Dans la boucle, on parcourt toute la liste des pieces grace a la variable compteur loop.
A chaque iteration, on choisit un element au hazard (random(16) renvoie un nombre entre 0 et 15).
Enfin, les trois dernieres lignes realisent un echange entre la piece d'indice loop et la piece d'indice randNum.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

4

puzzle[randNum] est utilisé 2 fois dans la deuxième partie : est-ce que sa valeur est identique la deuxième fois, ou est-ce qu'elle change à cause de random()? Ou est-ce que randNum trouve un autre chiffre seulement quand la boucle recommence ?

5

La valeur ne change qu'à chaque fois que randNum = random(16); est exécuté. Sinon, elle reste la même.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

Merci beaucoup ! Je comprends a present.