π
<-

Programmation du "jeu" de la roulette russe

Re: Programmation du "jeu" de la roulette russe

Unread postby Marco » 16 Sep 2010, 11:40

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.
Image
User avatar
Marco
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 27.8%
 
Posts: 1259
Joined: 22 Mar 2009, 00:00
Location: 78
Gender: Male
Calculator(s):
MyCalcs profile

Re: Programmation du "jeu" de la roulette russe

Unread postby tama » 16 Sep 2010, 18:37

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 ;)
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40.9%
 
Posts: 10995
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile

Re: Programmation du "jeu" de la roulette russe

Unread postby Marco » 16 Sep 2010, 19:06

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
Image
User avatar
Marco
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 27.8%
 
Posts: 1259
Joined: 22 Mar 2009, 00:00
Location: 78
Gender: Male
Calculator(s):
MyCalcs profile

Re: Programmation du "jeu" de la roulette russe

Unread postby tama » 16 Sep 2010, 19:10

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.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40.9%
 
Posts: 10995
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile

Re: Programmation du "jeu" de la roulette russe

Unread postby Marco » 16 Sep 2010, 19:14

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.
Image
User avatar
Marco
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 27.8%
 
Posts: 1259
Joined: 22 Mar 2009, 00:00
Location: 78
Gender: Male
Calculator(s):
MyCalcs profile

Re: Programmation du "jeu" de la roulette russe

Unread postby tama » 16 Sep 2010, 19:21

mouais, c'est vrai, j'avoue ne jamais en avoir fait une %)
en theorie ca marche en tout cas
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40.9%
 
Posts: 10995
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile

Re: Programmation du "jeu" de la roulette russe

Unread postby Loulou 54 » 16 Sep 2010, 19:27

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 !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.7%
 
Posts: 1988
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Re: Programmation du "jeu" de la roulette russe

Unread postby Marco » 16 Sep 2010, 19:34

Qui veut jouer à la roulette russe avec un automatique ? :#spin#:
Image
User avatar
Marco
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 27.8%
 
Posts: 1259
Joined: 22 Mar 2009, 00:00
Location: 78
Gender: Male
Calculator(s):
MyCalcs profile

Re: Programmation du "jeu" de la roulette russe

Unread postby jacques » 16 Sep 2010, 19:44

Marco wrote:Qui veut jouer à la roulette russe avec un automatique ? :#spin#:

:D:

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

:#gni#:
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 !!
User avatar
jacques
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 14.9%
 
Posts: 2057
Images: 0
Joined: 25 Aug 2009, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: prépa PSI

Re: Programmation du "jeu" de la roulette russe

Unread postby Andrei210 » 17 Sep 2010, 21:21

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

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 =)
User avatar
Andrei210
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 16%
 
Posts: 19
Joined: 15 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

PreviousNext

Return to TI-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 5 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2533 utilisateurs:
>2507 invités
>18 membres
>8 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)