Autorisation : Membre
Nb de messages : 33
Inscrit le : Sam 22 Avr 2017, 16:00
Posté le : Sam 13 Mai 2017, 13:55
Bonjour les gens.
Une roulette russe où on choisit le nombre de balles dans le barillet, une animation à chier parce que flemme, une étoile c'est une balle, un O, c'est vide, si la forme en haut est une étoile, vous êtes mort.
Le code des chaînes est bien maîtrisé. Bonne idée le ralentissement progressif grâce à une boucle For, bien plus pratique que des 69! enchaînés dans ce cas.
Juste une remarque, tu ne peux pas enlever la parenthèse dans ce cas là :
Code
:If sous-Chaîne(Chaîne1,1,1="*
Donc on fait :
Code
:If sous-Chaîne(Chaîne1,1,1)="*
Après c'est vrai qu'il est pas très joli mais sur l'écran numérique y a pas grand chose qu'on puisse faire de joli .
La longueur de la chaîne est toujours la même à ces lignes, elle est de 7 pour la première et de 6 pour la deuxième.
Tu peux donc remplacer ces deux lignes par :
Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Dim 14 Mai 2017, 0:40
Bien vu m@thieu41 ! Effectivement un Ans passe tout seul sur tout le code j'avais pas remarqué.
Pour les trois lignes qui te posent problème :
- EntAleat peut prendre un troisième argument, qui est la longueur d'une liste. On aura alors une liste de nombres aléatoires
- Une autre utilisation du suite() : remplira avec les X croissants tant que X<=A. On se passe là aussi de la boucle
- TriCroi prend autant de listes que voulues en argument
Autorisation : Membre
Nb de messages : 33
Inscrit le : Sam 22 Avr 2017, 16:00
Posté le : Dim 14 Mai 2017, 1:23
En testant, pour suite(X<=A,X,1,6) j'obtient {1,1,0,0,0,0} si A=2 par exemple, ça me paraît logique. Pour le EntAleat, on se retrouve avec 6 valeurs de 1 à 9. Ce que je ne comprend pas,c'est en quoi ça remplace mon code.
Avec ce que j'ai écris, on se retrouve avec A fois 0 puis 6-A fois des valeurs entre 1 et 6 sans doublons dans L1.
Ici on se retrouve avec deux listes qui n'ont rien à voir.
Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Dim 14 Mai 2017, 2:22
Pour l'utilisation du TriCroi à plusieurs listes : ca ne trie pas chacune des listes mais seulement la première, et ensuite réarrange les suivantes de manière à ce que les éléments qui étaient à la même place le soient encore. Je m'explique :
Code
{6,5,1,2,4,3->L1
{7,0,2,1,6,4->L2
TriCroi(L1,L2
//On obtient alors :
L1={1,2,3,4,5,6}
L2={2,1,4,6,0,7}
Je pense que ce qu'a essayé de faire m@thieu c'est un code de rand sans répétition, mais en effet quelque chose ne va pas. Déjà le TriCroi est ici mal utilisé il me semble, on trie la mauvaise liste. Et il doit manquer une ligne, le but doit être de multiplier par cette liste de 0 et de 1 par la suite pour éliminer les valeurs mauvaises.
Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mar 16 Mai 2017, 15:56
Citer : Mingerton
Pour l'utilisation du TriCroi à plusieurs listes : ca ne trie pas chacune des listes mais seulement la première, et ensuite réarrange les suivantes de manière à ce que les éléments qui étaient à la même place le soient encore. Je m'explique :
Code
{6,5,1,2,4,3->L1
{7,0,2,1,6,4->L2
TriCroi(L1,L2
//On obtient alors :
L1={1,2,3,4,5,6}
L2={2,1,4,6,0,7}
Je pense que ce qu'a essayé de faire m@thieu c'est un code de rand sans répétition, mais en effet quelque chose ne va pas. Déjà le TriCroi est ici mal utilisé il me semble, on trie la mauvaise liste. Et il doit manquer une ligne, le but doit être de multiplier par cette liste de 0 et de 1 par la suite pour éliminer les valeurs mauvaises.
Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Mer 17 Mai 2017, 12:10
Je crois que les nombres mis dans la liste finale désignent les places des balles dans le barillet. Avec ton code on aura jamais les nombres au dessus de A si je me trompe pas, donc ca revient à toujours avoir les balles au même endroit.
Je ne sais pas exactement comment le A est exploité, j'ai écrit mon code avec l'indication suivante :
Citer : "Homer_Dalor"
Avec ce que j'ai écris, on se retrouve avec A fois 0 puis 6-A fois des valeurs entre 1 et 6 sans doublons dans L1.
Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Jeu 18 Mai 2017, 22:45
Je crois que j'ai capté où on ne s'était pas compris : je n'avais pas vu que tu avais changé la ligne qui est dans le For(), c'est pour ca que je ne comprenais pas ton code.