Poster un nouveau sujet Poster une réponse
prgm CASINO
Auteur Message
Cytropus
Invité
Posté le : Lun 13 Fév 2012, 14:23   Citer 

Voila un petit casino proposant trois jeux différents:
-Pile ou face
-Loto
-Machine à sous

Code

:Lbl 0
:1->dim(lSOUS              sert à créer la liste
Menu(">>>>>CASINO<<<<<","PILE OU FACE",1,"LOTO",2,"MACHINE A SOUS",3
:Lbl 1
:If lSOUS(1)<1
:Then
:10->lSOUS(1
:End
:Disp "VOUS AVEZ",lSOUS(1
:Imput "VOTRE MISE :
:If A=0 ou A>lSOUS(1
:Then
:Disp "TU PEUX PAS
:Pause
:Goto 0
:End
:lSOUS(1)-A->lSOUS(1
:Lbl 4
:EffEcr
:Disp "1: PILE","2: FACE","3:ARRETER
:Prompt B
:If B=/=1 et B=/=2
:Then
:lSOUS(1)+A->lSOUS(1)
:Goto 0
:End
:entAléat(1,2->C
:If B=C
:Then
:2A->A
:Disp "BRAVO",A
:Pause
:Goto 4
:Else
:Disp "DOMMAGE
:Pause
:Goto 0
:End
:Lbl 2
:EffEcr
:Disp "LE BILLET COUTE","50 TIMUS","1: ACHETTER","2: PARTIR
:Prompt A
:If A=/=1
:Goto 0
:If lSOUS(1)<50
:Then
:Disp "ON Y CROIT
:Pause
:Goto 0
:End
:lSOUS(1)-50->lSOUS(1
:EffEcr
:Disp "CHOISISSEZ 6","NOMBRES ENTRE","1 ET 46
:EffVar [Théta]
:Prompt A,B,C,D,E,F
:entAléat(1,46->G
:entAléat(1,46->H
:While H=G
:entAléat(1,46->H
:End
:entAléat(1,46->I
:While I=G ou I=H
:entAléat(1,46->I
:End
:entAléat(1,46->J
:While J=G ou J=H ou J=I
:entAléat(1,46->J
:End
:entAléat(1,46->K
:While K=G ou K=H ou K=I ou K=J
:entAléat(1,46->K
:End
:entAléat(1,46->L
:While L=G ou L=H ou L=I ou L=J ou L=K
:entAléat(1,46->L
:End
:If A=G ou A=H ou A=I ou A=J ou A=K ou A=L
:[théta]+1->[théta]
:If B=G ou B=H ou B=I ou B=J ou B=K ou B=L
:[théta]+1->[théta]
:If C=G ou C=H ou C=I ou C=J ou C=K ou C=L
:[théta]+1->[théta]
:If D=G ou D=H ou D=I ou D=J ou D=K ou D=L
:[théta]+1->[théta]
:If E=G ou E=H ou E=I ou E=J ou E=K ou E=L
:[théta]+1->[théta]
:If F=G ou F=H ou F=I ou F=J ou F=K ou F=L
:[théta]+1->[théta]
:EffEcr
:Disp G,H,I,J,K,L
:If non([théta]
:Disp "DOMMAGE"
:If [théta]=1
:Then
:Disp "1 CHIFFRE: 20
:lSOUS(1)+20->lSOUS(1
:End
:If [théta]=2
:Then
:Disp "2 CHIFFRE: 50
:lSOUS(1)+50->lSOUS(1
:End
:If [théta]=3
:Then
:Disp "3 CHIFFRE: 100
:lSOUS(1)+100->lSOUS(1
:End
:If [théta]=4
:Then
:Disp "4 CHIFFRE: 500
:lSOUS(1)+500->lSOUS(1
:End
:If [théta]=5
:Then
:Disp "5 CHIFFRE: 1000
:lSOUS(1)+1000->lSOUS(1
:End
:If [théta]=6
:Then
:Disp "JAKPOT 1000000"
:lSOUS(1)+1000000->lSOUS(1
:End
:Pause
:Goto 0
:End
:Lbl 3
:EffEcr
:Disp "CA COUTE 20TIMUS"," ","1: PAYER","2: PARTIR","3: PETER CETTE","   PUT... DE","   MACHINE
:Prompt Z
:If Z=/=1 et Z=/=3
:Goto 0
:If Z=1
:Then
:EffEcr
:If lSOUS(1)<20
:Then
:Disp "ET AVEC QUOI ?
:Pause
:Goto 0
:End
:lSOUS(1)-20->lSOUS(1
:1->A
:For(B,1,17
:Output(A,B,"S
:End
:For(A,1,9
:Output(A,B,"S
:End
:For(B,16,0,-1
:Output(A,B,"S
:End
:For(A,8,0,-1
:Output(A,B,"S
:End
:6->B
:For(A,1,9
:Output(A,B,"S
:End
:11->B
:For(A,1,9
:Output(A,B,"S
:End
:EffVar AEffVarT
:5->B
:10->C
:While T=/=105
:codeTouche->T
:A+1->A
:If A=21
:Then
:0->A
:Output(4,4,"
:End
:Output(4,3,A
:entAléat(1,10^99
:End
:0->T
:While T=/=105
:codeTouche->T
:B+1->B
:If B=21
:Then
:0->B
:Output(4,4,"
:End
:Output(4,3,B
:entAléat(1,10^99
:End
:0->T
:While T=/=105
:codeTouche->T
:C+1->C
:If C=21
:Then
:C->A
:Output(4,4,"
:End
:Output(4,3,C
:entAléat(1,10^99
:End
:Pause
:If A=B et A=C
:Then
:EffEcr
:Disp "VIVE LE BLE","VOUS GAGNEZ","10000 TIMUS
:lSOUS(1)+10000->lSOUS(1
:Pause
:Goto 0
:Else
:Disp "DOMMAGE
:Pause
:Goto 0
:End
:End
:If Z=3
:Then
:entAléat(1,100->Z
:EffEcr
:If Z<25
:Then
:Disp "VOUS ARRIVEZ","A CASSER LA","MACHINE ET","A VOUS BARREZ","AVEC LES TIMUS
:lSOUS(1)+50->lSOUS(1
:End
:If Z<75
:Then
:Disp "LE VIDEUR VOUS","FAIT LA PEAU","VOUS PERDEZ TOUS
:0->lSOUS(1
:End
:If Z>74
:Disp "ON VOUS MET A LA","PORTE AVANT","MEME QUE VOUS","COMPRENNIEZ CE","QU4IL VOUS ","ARRIVE
:Pause
:Goto 0
:End
:Lbl 3
:EffEcr
:Output(8,9,"CYTROPUS



Voila ,taille du prog environ 2500
Bonne copie happy.gif

  Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 369
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Lun 13 Fév 2012, 15:03   Citer 

J'ai pas tout regardez (long le programme^^) mais il y a quelques petites choses que tu peut améliorer.
Si il n'y a qu'une instruction après le if, pas besoin de then et donc pas besoin de end exemple :

If A=1 : Disp"A

Ensuite un A=0 peut etre remplacé par non(A

Pour lui dire d'afficher un texte avant une instruction pause tu peut mettre :
Pause "TEXTE

Ensuite, tu as dans ton programme (je ne met qu'une partie)


Code
:If A=G ou A=H ou A=I ou A=J ou A=K ou A=L
:[théta]+1->[théta]
:If B=G ou B=H ou B=I ou B=J ou B=K ou B=L
:[théta]+1->[théta]



Pourquoi ne pas tout faire en une seule fois?


Code
If A=G ou A=H ou A=I ou A=J ou A=K ou A=L ou B=G ou B=H ou B=I ou B=J ou B=K ou B=L : [Théta] +1 -> [Théta]




Ensuite, je ne reviendrais pas sur ce PUT...
Pour quand tu lui demande entre 1,2 ou 3 pourquoi ne pas mettre un codetouche?


Code
Repeat Z
CodeTouche -> Z
end
If Z=83 : Goto 0
If Z=82 : ...
If Z=84 : ...



Ensuite, 1000000 peut s'écrire E6 E s'obtient en faisant [2de] + [,]


Tu as mit :


Code
:6->B
:For(A,1,9
:Output(A,B,"S
:End



Pourquoi pas tout simplement


Code
:For(A,1,9
:Output(A,6,"S
:End





Code
:0->A
:Output(4,4,"



Peut se transformer en


Code
:EffVar AOutput(4,4,"    <-- collé




Je pense qu'il y a encore 2-3 amélioration possible mais la j'ai pas le temps. Sinon, ton programme à l'air pas mal je l'essayerais ce soir happy.gif

----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Lun 13 Fév 2012, 16:59   Citer 

Je sais certaine de ces choses mais je peut pas le remodifier (étant sur un ordi sans souris je n'ai pas put utiliser mon compte cry.gif )

Pour le Pause"TEXTE" là tu m'apprend quelque chose

Pour le [thêta]+1 c'est indispensable de le séparer car il sert à compter le nombre de numéro juste au loto

PS: Pour le PUT... je suis sincèrement désolé minied.gif

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 13 Fév 2012, 18:51   Citer 


Code
If [théta]=1
Then
Disp "1 CHIFFRE: 20
lSOUS(1)+20->lSOUS(1
End
If [théta]=2
Then
Disp "2 CHIFFRE: 50
lSOUS(1)+50->lSOUS(1
End
If [théta]=3
Then
Disp "3 CHIFFRE: 100
lSOUS(1)+100->lSOUS(1
End
If [théta]=4
Then
Disp "4 CHIFFRE: 500
lSOUS(1)+500->lSOUS(1
End
If [théta]=5
Then
Disp "5 CHIFFRE: 1000
lSOUS(1)+1000->lSOUS(1
End
If [théta]=6
Then
Disp "JAKPOT 1000000"
lSOUS(1)+1000000->lSOUS(1
End


Code
If [théta]=1
Disp "1 CHIFFRE:
If [théta]=2
Disp "2 CHIFFRE:
If [théta]=3
Disp "3 CHIFFRE:
If [théta]=4
Disp "4 CHIFFRE:
If [théta]=5
Disp "5 CHIFFRE:
If [théta]=6
Disp "JAKPOT 1000000"
{20,50,100,500,E3,E6->L1   // si tu es immaginatif en maths, tu peux trouver
                           // une formule qui remplace cette liste
If [thêta]-6
Output(7,12,L1([thêta]
lSOUS(1)+L1([thêta])->lSOUS(1

==========

Code
entAléat(1,46->G
entAléat(1,46->H
While H=G
entAléat(1,46->H
End
entAléat(1,46->I
While I=G ou I=H
entAléat(1,46->I
End
entAléat(1,46->J
While J=G ou J=H ou J=I
entAléat(1,46->J
End
entAléat(1,46->K
While K=G ou K=H ou K=I ou K=J
entAléat(1,46->K
End
entAléat(1,46->L
While L=G ou L=H ou L=I ou L=J ou L=K
entAléat(1,46->L
End



Code
entAléat(1,46->G
Repeat H-G
entAléat(1,46->H
End
Repeat I-G et I-H
entAléat(1,46->I
End
Repeat J-G et J-H et J-I
entAléat(1,46->J
End
Repeat K-G et K-H et K-I et K-J
entAléat(1,46->K
End
Repeat L-G et L-H et L-I et L-J et L-K
entAléat(1,46->L
End



----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 369
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Lun 13 Fév 2012, 19:52   Citer 

Ah, oui désolé pour le théta +1. Dans ce cas, tu peut mettre :


Code
:(A=G ou A=H ou A=I ou A=J ou A=K ou A=L) + (B=G ou B=H ou B=I ou B=J ou B=K ou B=L) + (C=G ou C=H ou C=I ou C=J ou C=K ou C=L) + (D=G ou D=H ou D=I ou D=J ou D=K ou D=L) + (E=G ou E=H ou E=I ou E=J ou E=K ou E=L)+ (F=G ou F=H ou F=I ou F=J ou F=K ou F=L -> [Théta]



Je crois que sa marche aussi. Dites le moi si je me trompe^^

Pour gagner quelques octets, au lieu de mettre :


Code
lSOUS(1) +50 -> lSOUS(1



Marque :


Code
50+lSOUS(1 -> lSOUS(1



----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
Polymorph



Autorisation : Membre
Nb de messages : 121
Inscrit le : Dim 13 Nov 2011, 14:26
Posté le : Lun 13 Fév 2012, 22:04   Citer 

J'ajoute que ceci


Citer : Snap

Code
:(A=G ou A=H ou A=I ou A=J ou A=K ou A=L) + (B=G ou B=H ou B=I ou B=J ou B=K ou B=L) + (C=G ou C=H ou C=I ou C=J ou C=K ou C=L) + (D=G ou D=H ou D=I ou D=J ou D=K ou D=L) + (E=G ou E=H ou E=I ou E=J ou E=K ou E=L)+ (F=G ou F=H ou F=I ou F=J ou F=K ou F=L -> [Théta]




Est remplaçable par ceci


Code
Somcum((A={G,H,I,J,K,L})+(B={G,H,I,J,K,L})+(C={G,H,I,J,K,L})+(D={G,H,I,J,K,L})+(E={G,H,I,J,K,L})+(F={G,H,I,J,K,L -> [Théta]



Dites moi également si je me trompe, mais il ne me semble pas ^^.

----------------------

Citer
Le temps est une variable dans une boucle infinie, qu'on ne cesse d'incrémenter.


Polymorph, 23/11/2011
Snake!
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 14 Fév 2012, 13:45   Citer 

FAUX pour trois raisons :
- Il manque une acollade pour executer SomCum({a,b,c}) or tu n'utilise pas de liste dans SomCum
- SomCum ne sert pas du tout effectuer la somme de tous les termes.
L'exemple ci-dessus donnerait {a,a+b,a+b+c}

Il semble que tu veuilles rassembler les tests par l'algère booléen mais il y a des complications : là où il devrait y avoir un résultat booléen (0 ou 1) par série de "ou", la somme donnera un entier entre 0 et 6.
La solution est d'utiliser des fonctions "max".

Code
max(A={G,H,I,J,K,L})+max(B={G,H,I,J,K,L})+max(C={G,H,I,J,K,L})+max(D={G,H,I,J,K,L})+max(E={G,H,I,J,K,L})+max(F={G,H,I,J,K,L -> [Théta]

Je compte ajoûter une remarque dans mon article TESTS pour éviter des confusions de ce type.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
snap



Autorisation : Membre
Nb de messages : 369
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Mer 15 Fév 2012, 13:10   Citer 

Moi je dis : soyons fou! J'ai recopié le programe en changeant ce qui a été dit pour l'instant


Code
:Lbl 0
:1->dim(lSOUS              sert à créer la liste
Menu(">>>>>CASINO<<<<<","PILE OU FACE",1,"LOTO",2,"MACHINE A SOUS",3
:Lbl 1
:If lSOUS(1)<1
:10->lSOUS(1
:Disp "VOUS AVEZ",lSOUS(1
:Imput "VOTRE MISE :
:If non(A ou A>lSOUS(1
:Then
:Pause "TU PEUX PAS
:Goto 0
:End
:lSOUS(1)-A->lSOUS(1
:Lbl 4
:EffEcr
:Disp "1: PILE","2: FACE","3:ARRETER
:Repeat K
:If K=94
:Then
:lSOUS(1)+A->lSOUS(1)
:Goto 0
:End
:entAléat(1,2->C
:If K=C+91
:Then
:2A->A
:Disp "BRAVO
:Pause A
:Goto 4
:Else
:Pause "DOMMAGE
:Goto 0
:End
:Lbl 2
:EffEcr
:Disp "LE BILLET COUTE","50 TIMUS","1: ACHETTER","2: PARTIR
Repeat K
:If K=93
:Goto 0
:If 50>lSOUS(1
:Then
:Pause "ON Y CROIT
:Goto 0
:End
:lSOUS(1)-50->lSOUS(1
:EffEcr
:Disp "CHOISISSEZ 6","NOMBRES ENTRE","1 ET 46
:EffVar [Théta]Prompt A,B,C,D,E,F
:entAléat(1,46->G
:Repeat H-G
:entAléat(1,46->H
:End
:Repeat I-G et I-H
:entAléat(1,46->I
:End
:Repeat J-G et J-H et J-I
:entAléat(1,46->J
:End
:Repeat K-G et K-H et K-I et K-J
:entAléat(1,46->K
:End
:Repeat L-G et L-H et L-I et L-J et L-K
:entAléat(1,46->L
:End
:max(A={G,H,I,J,K,L})+max(B={G,H,I,J,K,L})+max(C={G,H,I,J,K,L})+max(D={G,H,I,J,K,L})+max(E={G,H,I,J,K,L})+max(F={G,H,I,J,K,L -> [Théta]
:EffEcr
:Disp G,H,I,J,K,L
:If non([théta]
:Disp "DOMMAGE"
:If [théta]=1
:Disp "1 CHIFFRE:
:If [théta]=2
:Disp "2 CHIFFRE:
:If [théta]=3
:Disp "3 CHIFFRE:
:If [théta]=4
:Disp "4 CHIFFRE:
:If [théta]=5
:Disp "5 CHIFFRE:
:If [théta]=6
:Disp "JAKPOT 1000000"
:{20,50,100,500,E3,E6->L1
:If [thêta]-6
:Output(7,12,L1([thêta]
:lSOUS(1)+L1([thêta]->lSOUS(1
:End
:Pause
:Goto 0
:End
:Lbl 3
:EffEcr
:Disp "CA COUTE 20TIMUS"," ","1: PAYER","2: PARTIR","3: PETER CETTE","   PUT... DE","   MACHINE
Repeat K
:CodeTouche -> K
:End
:If K=93
:Goto 0
:If K=92
:Then
:EffEcr
:If 20>lSOUS(1
:Then
:Pause "ET AVEC QUOI?
:Goto 0
:End
:lSOUS(1)-20->lSOUS(1
:For(B,1,17
:Output(1,B,"S
:End
:For(A,1,9
:Output(A,B,"S
:End
:For(B,16,0,-1
:Output(A,B,"S
:End
:For(A,8,0,-1
:Output(A,B,"S
:End
:For(A,1,9
:Output(A,6,"S
:End
:For(A,1,9
:Output(A,11,"S
:End
:EffVar AEffVarT5->B
:10->C
:Repeat T=105
:codeTouche->T
:A+1->A
:If A=21
:Then
:EffvarAOutput(4,4,"
:End
:Output(4,3,A
:entAléat(1,10^99
:End
:Repeat T=105
:codeTouche->T
:B+1->B
:If B=21
:Then
:EffVar BOutput(4,4,"
:End
:Output(4,3,B
:entAléat(1,10^99
:End
:Repeat T=105
:codeTouche->T
:C+1->C
:If C=21
:Then
:C->A
:Output(4,4,"
:End
:Output(4,3,C
:entAléat(1,10^99
:End
:Pause
:If A=B et A=C
:Then
:EffEcr
:lSOUS(1)+10000->lSOUS(1
:Disp "VIVE LE BLE","VOUS GAGNEZ
:Pause "10 000 TIMUS
:Goto 0
:Else
:Pause "DOMMAGE
:Goto 0
:End
:End
:If K=94
:Then
:entAléat(1,E2->Z
:EffEcr
:If Z<25
:Then
:Disp "VOUS ARRIVEZ","A CASSER LA","MACHINE ET","A VOUS BARREZ","AVEC LES TIMUS
:lSOUS(1)+50->lSOUS(1
:End
:If Z<75
:Then
:Disp "LE VIDEUR VOUS","FAIT LA PEAU","VOUS PERDEZ TOUS
:0->lSOUS(1
:End
:If Z>74
:Disp "ON VOUS MET A LA","PORTE AVANT","MEME QUE VOUS","COMPRENNIEZ CE","QU4IL VOUS
:Pause "ARRIVE
:Goto 0
:End
:Lbl 3
:EffEcr
:Output(8,9,"CYTROPUS



Si il y a des trucs que j'ai oublié de mettre ou des trucs qui sont faux dites le moi :p

----------------------
Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes happy.gif
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr
 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 15 Fév 2012, 18:02   Citer 

Je crois avoir trouvé quelques erreures:

Code
:Disp "VOUS AVEZ",lSOUS(1
:Imput "VOTRE MISE :            //il manquerait pas la variable non? (A?)



Code
:entAléat(1,E2->Z
:EffEcr
:If Z<25
:Then
:Disp "VOUS ARRIVEZ","A CASSER LA","MACHINE ET","A VOUS BARREZ","AVEC LES TIMUS
:lSOUS(1)+50->lSOUS(1
:End
:If Z<75
:Then
:Disp "LE VIDEUR VOUS","FAIT LA PEAU","VOUS PERDEZ TOUS     //ce serait pas plutôt TOUT ?
:0->lSOUS(1
:End
:If Z>74
:Disp "ON VOUS MET A LA","PORTE AVANT","MEME QUE VOUS","COMPRENNIEZ CE","QU4IL VOUS                   //ce serait pas une apastrophe à la place du 4?
:Pause "ARRIVE


Vérifie tes tests avec Z, ils ne sont pas très cohérents. (si tu casse la machine, t'es sur de tout perdre ; si on te met pas à la porte, le "ARRIVE" est quand même affiché

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
Cytropus



Autorisation : Membre
Nb de messages : 409
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Mer 15 Fév 2012, 19:37   Citer 

Autant pour moi
-Il manque bel et bien la variable A
-Quand j'ai retapé le prgm je me suis gouré dans la dispositions des testes (Et du pause

voila une version légèrement modifiée qui corrige l'erreur de fin

Code
:Lbl 0
:1->dim(lSOUS              sert à créer la liste
Menu(">>>>>CASINO<<<<<","PILE OU FACE",1,"LOTO",2,"MACHINE A SOUS",3,"QUITTER",5
:Lbl 1
:If lSOUS(1)<1
:10->lSOUS(1
:Disp "VOUS AVEZ",lSOUS(1
:Imput "VOTRE MISE :",A
:If non(A ou A>lSOUS(1
:Then
:Pause "TU PEUX PAS
:Goto 0
:End
:lSOUS(1)-A->lSOUS(1
:Lbl 4
:EffEcr
:Disp "1: PILE","2: FACE","3:ARRETER
:Repeat K
:If K=94
:Then
:lSOUS(1)+A->lSOUS(1
:Goto 0
:End
:entAléat(1,2->C
:If K=C+91
:Then
:2A->A
:Disp "BRAVO
:Pause A
:Goto 4
:Else
:Pause "DOMMAGE
:Goto 0
:End
:Lbl 2
:EffEcr
:Disp "LE BILLET COUTE","50 TIMUS","1: ACHETTER","2: PARTIR
Repeat K
:If K=93
:Goto 0
:If 50>lSOUS(1
:Then
:Pause "ON Y CROIT
:Goto 0
:End
:lSOUS(1)-50->lSOUS(1
:EffEcr
:Disp "CHOISISSEZ 6","NOMBRES ENTRE","1 ET 46
:EffVar [Théta]Prompt A,B,C,D,E,F
:entAléat(1,46->G
:Repeat H-G
:entAléat(1,46->H
:End
:Repeat I-G et I-H
:entAléat(1,46->I
:End
:Repeat J-G et J-H et J-I
:entAléat(1,46->J
:End
:Repeat K-G et K-H et K-I et K-J
:entAléat(1,46->K
:End
:Repeat L-G et L-H et L-I et L-J et L-K
:entAléat(1,46->L
:End
:max(A={G,H,I,J,K,L})+max(B={G,H,I,J,K,L})+max(C={G,H,I,J,K,L})+max(D={G,H,I,J,K,L})+max(E={G,H,I,J,K,L})+max(F={G,H,I,J,K,L -> [Théta]
:EffEcr
:Disp G,H,I,J,K,L
:If non([théta]
:Disp "DOMMAGE"
:If [théta]=1
:Disp "1 CHIFFRE:
:If [théta]=2
:Disp "2 CHIFFRES:
:If [théta]=3
:Disp "3 CHIFFRES:
:If [théta]=4
:Disp "4 CHIFFRES:
:If [théta]=5
:Disp "5 CHIFFRES:
:If [théta]=6
:Disp "JAKPOT 1000000"
:{20,50,100,500,E3,E6->L1
:If [thêta]-6
:Output(7,12,L1([thêta]
:lSOUS(1)+L1([thêta]->lSOUS(1
:EffvarL1End
:Pause
:Goto 0
:End
:Lbl 3
:EffEcr
:Disp "CA COUTE 20TIMUS"," ","1: PAYER","2: PARTIR","3: PETER CETTE","   PUT... DE","   MACHINE
Repeat K
:CodeTouche -> K
:End
:If K=93
:Goto 0
:If K=92
:Then
:EffEcr
:If 20>lSOUS(1
:Then
:Pause "ET AVEC QUOI?
:Goto 0
:End
:lSOUS(1)-20->lSOUS(1
:For(B,1,16
:Output(1,B,"S
:End
:For(A,1,8
:Output(A,16,"S
:End
:For(B,16,1,-1
:Output(8,B,"S
:End
:For(A,8,1,-1
:Output(A,1,"S
:End
:For(A,1,8
:Output(A,6,"S
:End
:For(A,1,8
:Output(A,11,"S
:End
:EffVar AEffVarT5->B
:10->C
:Repeat T=105
:codeTouche->T
:A+1->A
:If A=21
:EffvarAOutput(4,4,"
:Output(4,3,A
:entAléat(1,10^99
:End
:Repeat T=105
:codeTouche->T
:B+1->B
:If B=21
:EffVar BOutput(4,9,"
:Output(4,8,B
:entAléat(1,10^99
:End
:Repeat T=105
:codeTouche->T
:C+1->C
:If C=21
:Effvar COutput(4,14,"
:Output(4,13,C
:entAléat(1,10^99
:End
:Pause
:If A=B et A=C
:Then
:EffEcr
:lSOUS(1)+10000->lSOUS(1
:Disp "VIVE LE BLE","VOUS GAGNEZ
:Pause "10 000 TIMUS
:Else
:Pause "DOMMAGE
:End
:Goto 0
:End
:If K=94
:Then
:entAléat(1,E2->Z
:EffEcr
:If Z<75 et Z>=25
:Then
:Disp "LE VIDEUR VOUS","FAIT LA PEAU","VOUS PERDEZ TOUT
:0->lSOUS(1
:End
:If Z<25
:Then
:Disp "VOUS ARRIVEZ","A CASSER LA","MACHINE ET","A VOUS BARREZ","AVEC LES TIMUS
:lSOUS(1)+50->lSOUS(1
:End
:If Z>74
:Disp "ON VOUS MET A LA","PORTE AVANT","MEME QUE VOUS","COMPRENNIEZ CE","QU'IL VOUS","ARRIVE
:Pause
:Goto 0
:End
:Lbl 5
:EffEcr
:Output(8,9,"CYTROPUS



Merci pour votre aide ça fait gagner pas mal de place happy.gif
Merci snap pour avoir recopier entièrement ça à dû prendre du temps
Seul défaut auquel je n'ai pas remédier, si tu laisse la machine à sous tourner pendant longtemps ça ralentit (attention à l'erreur mémoire minied.gif )

----------------------
Le nouveau site de tout82
 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 15 Fév 2012, 20:00   Citer 

:If Z<25 et Z>=75

t'as pas l'impréssion que ça arrive un peu rarement que cette condition soit vérifiée?

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 15 Fév 2012, 20:02   Citer 

Pour remédier au ralentissement et à l'erreur mémoire, il faut éviter les structures qui contiennent des Goto.
Par exemple :
Code
:If A=B et A=C
:Then
:EffEcr
:lSOUS(1)+10000->lSOUS(1
:Disp "VIVE LE BLE","VOUS GAGNEZ
:Pause "10 000 TIMUS
:Goto 0
:Else
:Pause "DOMMAGE
:Goto 0
:End
/////////////////////
:If 20>lSOUS(1
:Then
:Pause "ET AVEC QUOI?
:Goto 0
:End

Consulte mon article GOTO pour en savoir un peu plus.

La solution parfois la plus simple est de n'utiliser aucune boucle.
Une autre est de chercher des algorithmes dans lesquels les boucles ne contiennent pas de Goto.

Remplace mon premier exemple par ceci : (cela fait gagner du répit)
Code
:If A=B et A=C
:Then
:EffEcr
:lSOUS(1)+10000->lSOUS(1
:Disp "VIVE LE BLE","VOUS GAGNEZ
:Pause "10 000 TIMUS
:Else
:Pause "DOMMAGE
:End
:Goto 0  // cette extraction évite d'empêcher la fermeture de la boucle Then



----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink