TI 82 Stats fr - Nombre aléatoire avec exception
Résolu
MrSheepSheep
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonsoir,
Je programme actuellement un jeu de puzzle du même principe que ce genre là (http://www.virtuoflash.com/puzzles/puzzle-a-deplacer-452.html).
Pour commencer, je vais utiliser des nombres à mettre dans l'ordre à la place d'une vraie image. Pour ce faire, j'ai besoin que 8 variables aient toutes une valeur aléatoire, mais que celles-ci ne soient pas égales entre-elles (Il serait étrange de trouver deux fois la même pièce dans un puzzle).
J'utilise donc la fonction EntAléat pour donner une valeur à chaque variable.
Je bloque cependant au moment où il faut vérifier que le nombre aléatoire donné à la variable n'est pas utilisé par les autres.
Je me demandais si il n'existait pas une fonction comme EntAléat permettant de choisir un nombre dans une intervalle, sauf des nombres définis.
Exemple (ce que j'aimerais faire):
EntAléa(1,8 "SAUF A, B, C, D, E, F et H") -> G
Je programme actuellement un jeu de puzzle du même principe que ce genre là (http://www.virtuoflash.com/puzzles/puzzle-a-deplacer-452.html).
Pour commencer, je vais utiliser des nombres à mettre dans l'ordre à la place d'une vraie image. Pour ce faire, j'ai besoin que 8 variables aient toutes une valeur aléatoire, mais que celles-ci ne soient pas égales entre-elles (Il serait étrange de trouver deux fois la même pièce dans un puzzle).
J'utilise donc la fonction EntAléat pour donner une valeur à chaque variable.
Je bloque cependant au moment où il faut vérifier que le nombre aléatoire donné à la variable n'est pas utilisé par les autres.
Je me demandais si il n'existait pas une fonction comme EntAléat permettant de choisir un nombre dans une intervalle, sauf des nombres définis.
Exemple (ce que j'aimerais faire):
EntAléa(1,8 "SAUF A, B, C, D, E, F et H") -> G
A voir également:
- TI 82 Stats fr - Nombre aléatoire avec exception
- Hotmail.com ou .fr ✓ - Forum Réseaux sociaux
- Hotmail. com ou .fr - Forum Hotmail / Outlook.com
- Yahoo.com ou .fr ✓ - Forum Yahoo mail
- Ti college plus log - Forum calculatrices
- Coco fr - Accueil - Réseaux sociaux
4 réponses
je pense qu'il faudrait que tu utilises une liste qui contiendrait la liste des valeurs possibles pour tes valeurs aléatoires
et que tu enleves de la liste la valeur tirée, ainsi de suite..
Qu'en penses-tu ?
et que tu enleves de la liste la valeur tirée, ainsi de suite..
Qu'en penses-tu ?
Salut,
Tu as essayé tout bêtement de redonner une valeur aléatoire si G est égale à une autre variable ?
Je ne me rappelle plus de la syntaxe, alors j'écris le résumé en français
If G = A ou G=B ou G=C ou G=D, etc...
While G = A ou G=B ou G=C ou G=D, etc...
EntAléa(1,8) -> G
Fin While
Fin Si
C'est surement un peu plus long à écrire, mais ça devrait marcher.
Tu as essayé tout bêtement de redonner une valeur aléatoire si G est égale à une autre variable ?
Je ne me rappelle plus de la syntaxe, alors j'écris le résumé en français
If G = A ou G=B ou G=C ou G=D, etc...
While G = A ou G=B ou G=C ou G=D, etc...
EntAléa(1,8) -> G
Fin While
Fin Si
C'est surement un peu plus long à écrire, mais ça devrait marcher.
En effet, je n'avais pas pensé à utiliser une liste !
J'ai réussi à faire ce que je voulais. Merci !
Voilà l'algorithme pour ceux qui voudraient faire la même chose:
8 -> dim(LPUZZL // Permet de définir la taille de la liste PUZZL
Remplir(1,LPUZZL // Remplis la liste PUZZL de 1
entAléat(1,8) -> A
While LPUZZL(A)=0
entAléat(1,8) -> A
End
0 -> LPUZZL(A)
Il suffit de répéter les quelques lignes ci-dessus autant de fois que l'on a de variables (ici, huit fois).
J'ai réussi à faire ce que je voulais. Merci !
Voilà l'algorithme pour ceux qui voudraient faire la même chose:
8 -> dim(LPUZZL // Permet de définir la taille de la liste PUZZL
Remplir(1,LPUZZL // Remplis la liste PUZZL de 1
entAléat(1,8) -> A
While LPUZZL(A)=0
entAléat(1,8) -> A
End
0 -> LPUZZL(A)
Il suffit de répéter les quelques lignes ci-dessus autant de fois que l'on a de variables (ici, huit fois).