Poster un nouveau sujet Poster une réponse Page: 1,      >>
argent virtuel poker
Auteur Message
leo_85



Autorisation : Membre
Nb de messages : 132
Inscrit le : Mer 03 Déc 2014, 14:13
Posté le : Dim 12 Avr 2015, 21:54   Citer 

très important ce programme n'est en aucun cas un jeux de poker pour TIc'est juste un programme que j'ai fais pour quand je vais au bar avec les copains et qu'ont se retrouve a jouer avec les cartes mais sans argent avec un calepin ou un bloc note de portable et ont se pert dans les soustraction bref le prog:
Code
0->K
While x [different de] 0
EffEcr
Disp"Somme Par Joueur
Input x
End
x->A
x->B
x->C
0->D
Lbl 1
0->K
While K[different de]1 et K[different de]2 et K[different de]3
EffEcr
Disp "J1","J2","J3","Tapis
Output(1,7,A
Output(2,7,B
Output(3,7,C
Output(4,7,D
Disp "Soustraire (1)","Ajouter (2)","Gagnant (3)
Input "Action=",K
End
If K=1
Then
Goto 2
End
If K=2
Then
Goto 3
End
If K=3
Then
Goto 4
End
Lbl 2
0->K
While K[different de]1 et K[different de]2 et K[different de]3
EffEcr
Disp "J1 (1)","J2 (2)","J3 (3)
Input "Action",K
End
If K=1
Then
Disp "J1-?
Input x
A-x->A
D+x->D
Goto 1
End
If K=2
Then
Disp "J2-?
Input x
B-x->x
D+x->D
Goto 1
End
If K=3
Then
Disp "J3-?
Input x
C-x->C
D+x->D
Goto 1
End
Lbl 3
0->K
While K[different de]1 et K[different de]2 et K[different de]3
EffEcr
Disp "J1 (1)","J2 (2)","J3 (3)
Input "Action=",K
End
If K=1
Then
Disp "J1+?
Input x
End
If X[inferieur ou egale]D et D[different de]0
Then
A+x->A
D+x->D
Goto 1
Else
Goto 1
End
If K=2
Disp "J2+?
Input x
End
If X[inferieur ou egale]D et D[different de]0
Then
B+x->B
D-x->D
Goto 2
Else
Goto 1
End
If K=3
Then
Disp "J3+?
Input x
End
If X[inferieur ou egale]D et D[different de]0
Then
C+x->C
D-x->D
Goto 1
Else
Goto 1
End
Lbl 4
0->K
While K[different de]1 et K[different de]2 et K[different de]3
EffEcr
Disp "J1 (1)","J2 (2)","J3 (3)
Input "Action=",K
End
If K=1
Then
A+D->A
0->D
Goto 1
End
If K=2
Then
B+2->B
0->D
Goto 1
End
If K=3
Then
C+D->C
0->D
Goto 1
End



il y a peut être des erreur de label ou de recopiage divers je m'occuperais de les corriger sinon je suis a votre écoute pour l'optimisation

----------------------
futur analyste programmeur possesseur d'une TI 82 Plus toute neuve godgrace.gif
 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 : Dim 12 Avr 2015, 22:15   Citer 

Coucou !

J'ai pas rééllement cherché à comprendre ce que faisait le programme (j'ai jamais été bon pour ça)
Par contre, quelques conseils d'optimisation :

Concernant les


Code
If ...
Then
...
end



Je ne veux plus jamais les voir dans un de tes codes, ou alors t'auras la fessé !!

remplace simplement par


Code
if ... : ...



Enfin je crois, c'est vrai que ça fait longtemps que je programme plus sur ma TI mais ça doit bien etre ça !

Et ensuite pour les


Code
X=0 (je met X ici, mais ça peut être n'importe quelle variables^^



Tu peux le remplacer par


Code
EffVar X



Et après ça, pas besoin de retour à la ligne ou de ":", donc tu peux même si tu le veux écrire :


Code
EffVar XInput X

ou même pourquoi pas

EffVar XWhile X
...
end



Et enfin


Code
while X[diff de] 0



peut être remplacer par


Code
while X



Tout simplement !

Voila, je vais encore trifouiller un peu et si je revois quelque chose je te fais signe kiss.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 
 
leo_85



Autorisation : Membre
Nb de messages : 132
Inscrit le : Mer 03 Déc 2014, 14:13
Posté le : Dim 12 Avr 2015, 22:32   Citer 

pour le tes optimisation je persiste c'est plus lisible et ont économise pas d'octet mais merci quand meme happy.gif de plus je constate ne pas être le seul a trainer sur se forum passé 22h30 godgrace.gif

----------------------
futur analyste programmeur possesseur d'une TI 82 Plus toute neuve godgrace.gif
 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 : Dim 12 Avr 2015, 22:35   Citer 

Ok c'est plus lisible pour le EffVar auquel tu colles quelque chose, mais ne va pas me dire que c'est plus lisible le if then end, perso je prèferais largement lire un if tout seul avec l'action marquée à coté.
Tu dis qu'on gagne pas beaucoup d'octets, mais on est sur calculettes, 20ko de mémoire, un seul octet peu tout changé, j'en ai déjà fait l'experience ! xD

Et avec ton programme tu gagne facile une 100aine d'octets je pense non?

----------------------
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 
 
m@thieu41



Autorisation : Membre
Nb de messages : 856
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Dim 12 Avr 2015, 22:37   Citer 

Hey !
Il vaut mieux éviter de mélanger les boucles ou conditions avec les goto/lbl. C'est mauvais pour la santé de ta calto :p (en particulier "if... Then goto X Else goto Y End" a répétitions est a éviter)
Linka a écrit un article dessus pour plus de détails winkle.gif

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
leo_85



Autorisation : Membre
Nb de messages : 132
Inscrit le : Mer 03 Déc 2014, 14:13
Posté le : Dim 12 Avr 2015, 22:51   Citer 

ok je vais le retaper mais demain la il est tard...

----------------------
futur analyste programmeur possesseur d'une TI 82 Plus toute neuve godgrace.gif
 Adresse email Haut de page Bas de page 
 
leo_85



Autorisation : Membre
Nb de messages : 132
Inscrit le : Mer 03 Déc 2014, 14:13
Posté le : Lun 13 Avr 2015, 11:06   Citer 

question : si j'ai plusieurs sous résulta a une condition j'écris :
Code
If [peu importe]:premier résultat:deuxième résultat:etc?

après c'est promis je le recommence... glasses.gif

----------------------
futur analyste programmeur possesseur d'une TI 82 Plus toute neuve godgrace.gif
 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 Avr 2015, 12:24   Citer 

Non, la méthode du


Code
if ... : ...



ne marche que si tu as une seule condition, si tu en a plusieurs, il te faut un then et un end, malheureusement^^

----------------------
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 
 
leo_85



Autorisation : Membre
Nb de messages : 132
Inscrit le : Mer 03 Déc 2014, 14:13
Posté le : Lun 13 Avr 2015, 13:00   Citer 

mais toute mes conditions ont deux résultats donc je peut rien changer?

----------------------
futur analyste programmeur possesseur d'une TI 82 Plus toute neuve godgrace.gif
 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 Avr 2015, 13:16   Citer 

T'en a quand même quelques un où tu as une seule ligne de code happy.gif

Du coup ceux là tu peux les changer bigmouth.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 
 
leo_85



Autorisation : Membre
Nb de messages : 132
Inscrit le : Mer 03 Déc 2014, 14:13
Posté le : Lun 13 Avr 2015, 13:34   Citer 


Code
0->K
While x [different de] 0
EffEcr
Disp"Somme Par Joueur
Input x
End
x->A
x->B
x->C
EffVar D
Lbl 1
EffVar K
While K
EffEcr
Disp "J1","J2","J3","Tapis
Output(1,7,A
Output(2,7,B
Output(3,7,C
Output(4,7,D
Disp "Soustraire (1)","Ajouter (2)","Gagnant (3)
Input "Action=",K
End
If K=1 : Goto 2
If K=2 : Goto 3
If K=3 : Goto 4
Lbl 2
EffVar K
While K
EffEcr
Disp "J1 (1)","J2 (2)","J3 (3)
Input "Action",K
End
If K=1
Then
Disp "J1-?
Input x
A-x->A
D+x->D
Goto 1
End
If K=2
Then
Disp "J2-?
Input x
B-x->x
D+x->D
Goto 1
End
If K=3
Then
Disp "J3-?
Input x
C-x->C
D+x->D
Goto 1
End
Lbl 3
EffVar K
While K
EffEcr
Disp "J1 (1)","J2 (2)","J3 (3)
Input "Action=",K
End
If K=1
Then
Disp "J1+?
Input x
End
If X[inferieur ou egale]D et D[different de]0
Then
A+x->A
D+x->D
Goto 1
Else
Goto 1
End
If K=2
Disp "J2+?
Input x
End
If X[inferieur ou egale]D et D[different de]0
Then
B+x->B
D-x->D
Goto 2
Else
Goto 1
End
If K=3
Then
Disp "J3+?
Input x
End
If X[inferieur ou egale]D et D[different de]0
Then
C+x->C
D-x->D
Goto 1
Else
Goto 1
End
Lbl 4
EffVar K
While K
EffEcr
Disp "J1 (1)","J2 (2)","J3 (3)
Input "Action=",K
End
If K=1
Then
A+D->A
EffVar D
Goto 1
End
If K=2
Then
B+2->B
EffVar D
Goto 1
End
If K=3
Then
C+D->C
EffVar D
Goto 1
End



de ce genre la?

----------------------
futur analyste programmeur possesseur d'une TI 82 Plus toute neuve godgrace.gif
 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 Avr 2015, 15:21   Citer 

Ouaip, mais maintenant faut changer tous les if then end en autre chose bigmouth.gif^^
Bonne chance 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 
 
ld
Avatar

Autorisation : Membre
Nb de messages : 373
Inscrit le : Jeu 23 Sep 2010, 16:05
Posté le : Lun 13 Avr 2015, 21:48   Citer 

Voilà il est réduit ! winkle.gif

Code
Disp"SOMME PAR JOUEUR"
Prompt A,B,C
Input "TAPIS",T
Lbl 1
EffEcr
Disp "J1","J2","J3","TAPIS
Output(1,7,A
Output(2,7,B
Output(3,7,C
Output(4,7,T
If T=0:Stop
Input "JOUEUR N°",J         -------- le ° est avant le ! dans le catalogue
Disp "SI GAGNANT TAPEZ T
Input "GAIN OU PERTE ",N    -------- si négatif, utilisez la touche (-) et pas -
A+N(J=1->A
B+N(J=2->B
C+N(J=3->C
If N>0 et N inférieur ou égale à T:T-N-T  ------- "et" touche 2nde math/logique
If N=T:0->T
Goto 1



----------------------
Note Éphéméride Chrono Bombrman BlueFishEncryptor Labygénérateur Nord BandeauDeTexte LunarPhase Syracuse Papy-Jump Convertisseur ! SolveurDeSudoku VérificateurDeCodesBanquaire PrgmADiviser CryptageDeVigenere MiniSolv Reed-Solomon Code128Géodésie
 Adresse email Haut de page Bas de page 
 
leo_85



Autorisation : Membre
Nb de messages : 132
Inscrit le : Mer 03 Déc 2014, 14:13
Posté le : Mar 14 Avr 2015, 11:31   Citer 

problème: la somme par joueur doit être la même et le tapis est vide par défaut au poker sinon je vais le taper pour voir et je te dis happy.gif

----------------------
futur analyste programmeur possesseur d'une TI 82 Plus toute neuve godgrace.gif
 Adresse email Haut de page Bas de page 
 
Mingerton



Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Mar 14 Avr 2015, 20:42   Citer 

Eh bien cette modification suffira à pallier à ça winkle.gif :


Code
EffVar TInput"SOMME PAR JOUEUR",A
A->B
A->C
Lbl 1
EffEcr
Disp "J1","J2","J3","TAPIS
Output(1,7,A
Output(2,7,B
Output(3,7,C
Output(4,7,T
Input "JOUEUR N°",J         -------- le ° est dans 2nd-Matrice ou 2de-Apps
Disp "SI GAGNANT TAPEZ T
Input "GAIN OU PERTE ",N    -------- si négatif, utilisez la touche (-) et pas -
A+N(J=1->A
B+N(J=2->B
C+N(J=3->C
If N>0 et N [inférieur ou égale à] T:T-N->T  ------- "et" touche 2nde math/logique
If N=T:0->T
Goto 1



Par contre, le tapis ne gagne jamais d'argent, et n'en perd jamais non plus puisqu'il n'en a pas à perdre. Pourquoi ne pas automatiser le changement de joueur de plus ? Je propose donc ceci :


Code
EffVar JEffVar TInput"SOMME PAR JOUEUR",A
A->B
A->C
Lbl 1
EffEcr
J+1->J
J-3(J[supérieur]3->J
Disp "J1","J2","J3","TAPIS
Output(1,7,A
Output(2,7,B
Output(3,7,C
Output(4,7,T
Disp "JOUEUR N°
Output(5,10,J
Disp "SI GAGNANT TAPEZ T
Input "GAIN OU PERTE:",N
A+N(J=1->A
B+N(J=2->B
C+N(J=3->C
If N<0:T+N->T
If N>0 et N[inférieur ou égal à]T:T-N->T
If N=T:0->T
Goto 1



----------------------
Mes articles
Mes programmes en ligne (je termine peu de projets)

Guide traduction Algo-Basic, par Linkakro
Catalogue des fonctions 82/83/84 FR/EN
 Adresse email Haut de page Bas de page 
 
ld
Avatar

Autorisation : Membre
Nb de messages : 373
Inscrit le : Jeu 23 Sep 2010, 16:05
Posté le : Mer 15 Avr 2015, 0:46   Citer 

Quelle merveilleuse équipe on fait minied.gif <3
C'est beau l'entraide kiss.gif

----------------------
Note Éphéméride Chrono Bombrman BlueFishEncryptor Labygénérateur Nord BandeauDeTexte LunarPhase Syracuse Papy-Jump Convertisseur ! SolveurDeSudoku VérificateurDeCodesBanquaire PrgmADiviser CryptageDeVigenere MiniSolv Reed-Solomon Code128Géodésie
 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 Avr 2015, 2:26   Citer 

Coucou ! C'est encore moi !
Si quelqu'un pouvait tester ça et me dire si ça marche pareil que l'autre au dessus ! Ce serait gentil <3
Normalement ça devrais fonctionner mais j'avoue qu'à 2h25, je ne me fais plus trop confiance pour écrire du code :p


Code
EffVar JInput"SOMME PAR JOUEUR",A
{A,A,A,0->L1
while 1
EffEcr
J(J[pas égal à]3)+1->J
Disp "J1","J2","J3","TAPIS
For(I,1,4
Output(1,7,L1(I
end
Disp "JOUEUR N°
Output(5,10,J
Disp "SI GAGNANT TAPEZ T
Input "GAIN OU PERTE:",N
N+L1(J->L1(J
(N[pas egal a])(L1(4)+N((N<0)-(N>0->L1(4
end



----------------------
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 
 
leo_85



Autorisation : Membre
Nb de messages : 132
Inscrit le : Mer 03 Déc 2014, 14:13
Posté le : Mer 15 Avr 2015, 11:18   Citer 

les vôtres sont ultra compacte merci bigmouth.gif ! mais par contre (et c'est ultra pretencieux) je trouve le miens plus ergonomique... happy.gif

----------------------
futur analyste programmeur possesseur d'une TI 82 Plus toute neuve godgrace.gif
 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 Avr 2015, 15:23   Citer 

Oui mais malheureusement, sur une TI, on ne peut pas se permettre de rechercher de l'ergonomie xD

----------------------
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 
 
Mingerton



Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Mer 15 Avr 2015, 19:59   Citer 

Il manque quelque chose dans cette ligne tongue.gif :

Code
(N[pas egal a])(L1(4)+N((N<0)-(N>0->L1(4


De plus, cette histoire de repérer le signe n'avance à rien du tout puisqu'en fait il suffirait simplement de retirer N au tapis à chaque fois. Si le joueur perd de l'argent le signe devient forcément positif winkle.gif. Je propose donc cette ligne en remplacement :

Code
L1(4)-N->L1(4



Je pense qu'il faut régler ce problème de condition de sortie. Est ce que le fait que le tapis soit vidé irait ? Dans tous les cas, voilà un code un peu plus optimisé :


Code
EffVar JInput "SOMME PAR JOUEUR",A
{A,A,A,0->L1
While 1                   //à régler...
EffEcr
1+J(J[différent de]3->J
Disp "J1","J2","J3","TAPIS
For(I,1,4
Output(I,7,L1(I
End
Disp "JOUEUR N°
Output(5,10,J
Input "GAIN OU PERTE:  ",N
N+L1(J->L1(J
L1(4)-N->L1(4
End



----------------------
Mes articles
Mes programmes en ligne (je termine peu de projets)

Guide traduction Algo-Basic, par Linkakro
Catalogue des fonctions 82/83/84 FR/EN
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse Page: 1,      >>





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