Programmation du "jeu" de la roulette russe
22 posts
• Page 2 of 3 • 1, 2, 3
Re: Programmation du "jeu" de la roulette russe
Bien sûr que non, le barillet tourne d'un cran à chaque coup une fois sa position déterminée au début en le faisant manuellement tourner.

-
Marco
Niveau 11: LV (Légende Vivante)- Posts: 1259
- Joined: 22 Mar 2009, 00:00
- Location: 78
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Programmation du "jeu" de la roulette russe
Plop,
En fait il te faudrait une variable pour savoir le nombre de compartiments ou de je-sais-pas-quoi qu'il reste, et generer ensuite un nombre aleatoire en fonction de ca :
En gros, l'algo sera le suivant :
nombre_compartiments = 6
continuer = 1 /* determine s'il faut continuer a jouer ou non */
TANT QUE continuer = 1
alea = rand(1,nombre_compartiments) /* genere un nombre aleatoire */
SI alea = 1 ALORS
/* Boum, faire ce qu'il faut ici, you're dead */
continuer = 0 /* Inutile de continuer, on a notre mort */
SINON
/* Eventuellement un message genre "la prochaine sera la bonne" */
FIN
/* Le changement de joueur vient ici */
nombre_compartiments = nombre_compartiments - 1
FIN TANT QUE
/* Faire ce qu'il y a a faire pour terminer le programme ... */
Tu remarqueras que le premier qui joue aura 1 chance sur 6, puis le deuxieme ! sur 5 ... jusqu'au dernier qui sera sur de mourir (lorsque nombre_compartiments = 1)
Je te laisse donc essayer de faire le programme correspondant
En fait il te faudrait une variable pour savoir le nombre de compartiments ou de je-sais-pas-quoi qu'il reste, et generer ensuite un nombre aleatoire en fonction de ca :
En gros, l'algo sera le suivant :
nombre_compartiments = 6
continuer = 1 /* determine s'il faut continuer a jouer ou non */
TANT QUE continuer = 1
alea = rand(1,nombre_compartiments) /* genere un nombre aleatoire */
SI alea = 1 ALORS
/* Boum, faire ce qu'il faut ici, you're dead */
continuer = 0 /* Inutile de continuer, on a notre mort */
SINON
/* Eventuellement un message genre "la prochaine sera la bonne" */
FIN
/* Le changement de joueur vient ici */
nombre_compartiments = nombre_compartiments - 1
FIN TANT QUE
/* Faire ce qu'il y a a faire pour terminer le programme ... */
Tu remarqueras que le premier qui joue aura 1 chance sur 6, puis le deuxieme ! sur 5 ... jusqu'au dernier qui sera sur de mourir (lorsque nombre_compartiments = 1)
Je te laisse donc essayer de faire le programme correspondant

`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`
Pas de support par MP, merci.
Pas de support par MP, merci.
-
tama
Niveau 14: CI (Calculateur de l'Infini)- Posts: 10995
- Joined: 19 Dec 2005, 00:00
- Location: /dev/null mais je survis :)
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Programmation du "jeu" de la roulette russe
Ba je vois pas pourquoi. La modélisation la plus proche de la situation réelle est plutôt :
[font=Courier New]
/* On fait tourner le barillet */
position_balle = RAND(1,6);
TANT QUE (position_balle 7[/font])
SI (position_balle == 6)
ALORS
/* GAME OVER */
AFFICHER "PAN !"
SINON
/* On continue */
AFFICHER "Vous êtes chanceux."
/* Ici on pourrait proposer au joueur de quitter */
FIN SI
/* A chaque fois qu'on appuie sur la gâchette, le barillet tourne d'un cran */
position_balle = position_balle + 1
FIN TANT QUE
[font=Courier New]
/* On fait tourner le barillet */
position_balle = RAND(1,6);
TANT QUE (position_balle 7[/font])
SI (position_balle == 6)
ALORS
/* GAME OVER */
AFFICHER "PAN !"
SINON
/* On continue */
AFFICHER "Vous êtes chanceux."
/* Ici on pourrait proposer au joueur de quitter */
FIN SI
/* A chaque fois qu'on appuie sur la gâchette, le barillet tourne d'un cran */
position_balle = position_balle + 1
FIN TANT QUE

-
Marco
Niveau 11: LV (Légende Vivante)- Posts: 1259
- Joined: 22 Mar 2009, 00:00
- Location: 78
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Programmation du "jeu" de la roulette russe
ca peut aussi marcher, dans ton cas on fait tourner 1 seule fois le barillet, dans mon cas on le fait tourner au plus 5 fois, ca depend donc de quelle facon on veut le faire.
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`
Pas de support par MP, merci.
Pas de support par MP, merci.
-
tama
Niveau 14: CI (Calculateur de l'Infini)- Posts: 10995
- Joined: 19 Dec 2005, 00:00
- Location: /dev/null mais je survis :)
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Programmation du "jeu" de la roulette russe
tama wrote:ca peut aussi marcher, dans ton cas on fait tourner 1 seule fois le barillet, dans mon cas on le fait tourner au plus 5 fois, ca depend donc de quelle facon on veut le faire.
Mais si on le refait tourner plusieurs fois, alors on n'augmente pas les probabilités de perdre normalement. Ce qui fait que ton nombre_compartiments devrait rester à 6.

-
Marco
Niveau 11: LV (Légende Vivante)- Posts: 1259
- Joined: 22 Mar 2009, 00:00
- Location: 78
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Programmation du "jeu" de la roulette russe
mouais, c'est vrai, j'avoue ne jamais en avoir fait une %)
en theorie ca marche en tout cas
en theorie ca marche en tout cas
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`
Pas de support par MP, merci.
Pas de support par MP, merci.
-
tama
Niveau 14: CI (Calculateur de l'Infini)- Posts: 10995
- Joined: 19 Dec 2005, 00:00
- Location: /dev/null mais je survis :)
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Programmation du "jeu" de la roulette russe
Marco wrote:tama wrote:ca peut aussi marcher, dans ton cas on fait tourner 1 seule fois le barillet, dans mon cas on le fait tourner au plus 5 fois, ca depend donc de quelle facon on veut le faire.
Mais si on le refait tourner plusieurs fois, alors on n'augmente pas les probabilités de perdre normalement. Ce qui fait que ton nombre_compartiments devrait rester à 6.
Yep ! Tu n'ajoutes pas de balles supplémentaires à chaque coup dans le barillet. Donc si tu tournes à chaque fois le barillet, tu as toujours la même probabilité.
Mes programmes => ici !
-
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)- Posts: 1988
- Images: 8
- Joined: 02 Aug 2009, 00:00
- Location: 54, près de Metz
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Ingé Logiciel chez Amazon
Re: Programmation du "jeu" de la roulette russe
Qui veut jouer à la roulette russe avec un automatique ? 


-
Marco
Niveau 11: LV (Légende Vivante)- Posts: 1259
- Joined: 22 Mar 2009, 00:00
- Location: 78
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Programmation du "jeu" de la roulette russe
Marco wrote:Qui veut jouer à la roulette russe avec un automatique ?![]()

Le seul avantage c'est que ça simplifie le code du programme
- Code: Select all
DISP : "vous avez perdu"

Sublime Chevalier Elu des TI
Venez visiter mon site sur les TI : Ti Softwares !!
Jetez un coup d'œil à mes programmes pour TI !!
Vous voulez faire des super programmes pour votre TI z80 ? Alors apprenez l'Axe Parser !!
Venez visiter mon site sur les TI : Ti Softwares !!
Jetez un coup d'œil à mes programmes pour TI !!
Vous voulez faire des super programmes pour votre TI z80 ? Alors apprenez l'Axe Parser !!
-
jacques
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 2057
- Images: 0
- Joined: 25 Aug 2009, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: prépa PSI
Re: Programmation du "jeu" de la roulette russe
Après test ce code marche très bien et en ajoutant disp X a la fin j'ai vérifier que l'emplacement de la balle concordait bien avec le nombres de coups tirés avant d'afficher pan
OK je l'explique le plus clairement possible :
Je pense qu'on peut retirer la 1ere ligne car si on ne donne aucun nombre de départ pour la variable I il sera par défaut 0 non ?
ps : le code n'était pas compréhensible car j'avais par inadvertance remplacé le X de la 3e ligne par un C (j'avais mi C comme variable kan g codé sur ma calculatrice et je me suis emmêlé les pinceaux quand je l'ai tapé sur pc)
Bah en fai dans mon code la variable qui remplace ce principe est le numéro de la chambre qui va être tirée ce qui permet de ne générer qu'une seul nombre : celui du numéro de compartiment ou est cette balle.
J'espere que j'ai été claire même si mon code est, je l'avoue, pas très intuitif/logique mais marchant très bien =)
kindermoumoute wrote:Ps : je ne comprend pas ton code.
OK je l'explique le plus clairement possible :
- Code: Select all
0-I // I-0 | I est le numéro de la chambre du revolver qui est chargée -1
entAléat(1,6)-X //On définit X aléatoirement entre 1 et 6 | Ce sera la place de la balle dans le barillet (il sera dans le Xe chambre de l'arme)
Repeat X=I+1 //Répéter jusqu'à ce que la variable soit égale a I+1 | On répète jusqu'à ce que la prochaine chambre sois celle de la balle
Pause //Attends que quelqu'un appuie sur enter | Attends que quelqu'un presse la gâchette
I+1=I //on ajoute 1 à I | Comme on vient de tirer une balle on charge la prochaine
Disp "Tu es sauvé" // bah tes chanceux c'est tout | Il est vrais que c'était pas très logique de ma part de charger la prochaine balle avant qu'on sache si l'autre est mort ou non
End //On sort de la boucle X=I+1 | On sort de la boucle si la prochaine chambre est celle qui contient la balle
Pause //On attend que quelqu'un appuie sur enter | On attends que le malchanceux se fasse exploser la cervelle (il n'avait qu'à ne pas jouer à ce jeu ...)
Disp "Pan" //Heu... y a t-il besoin d'une explication?
Je pense qu'on peut retirer la 1ere ligne car si on ne donne aucun nombre de départ pour la variable I il sera par défaut 0 non ?
ps : le code n'était pas compréhensible car j'avais par inadvertance remplacé le X de la 3e ligne par un C (j'avais mi C comme variable kan g codé sur ma calculatrice et je me suis emmêlé les pinceaux quand je l'ai tapé sur pc)
tama wrote:En fait il te faudrait une variable pour savoir le nombre de compartiments ou de je-sais-pas-quoi qu'il reste, et generer ensuite un nombre aleatoire en fonction de ca
Bah en fai dans mon code la variable qui remplace ce principe est le numéro de la chambre qui va être tirée ce qui permet de ne générer qu'une seul nombre : celui du numéro de compartiment ou est cette balle.
J'espere que j'ai été claire même si mon code est, je l'avoue, pas très intuitif/logique mais marchant très bien =)
-
Andrei210
Niveau 4: MC (Membre Confirmé)- Posts: 19
- Joined: 15 Sep 2010, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ere S
22 posts
• Page 2 of 3 • 1, 2, 3
Who is online
Users browsing this forum: ClaudeBot [spider] and 5 guests