Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Dim 08 Sep 2013, 16:23
Bonjour,
Je suis nouveau, j'ai commencé à coder sur calculette hier en visitant le forum,j'ai donc réalisé 3 codes en tous et je bloque sur un qui ne fonctionne pas,une machine à sous avec l'utilisation d'argents, de points et de missions.
Celles-ci sont d'obtenir un certain nombre d'argent pour gagner des points et obtenir un certain nombre de points pour gagner de l'argent.Plus d'argent -> game over et aussi on peut choisir sa mise et la changer comme on souhaite et évidement c'est jouable -> plus de chance de gagner que de perdre.
Code
Lbl 3
0->S
100->A
10000->F
5->P
Lbl 0
Menu("MACHINE A SOUS","JOUER",1,"INSTRUCTION",2,"RESET",3
Lbl 2
Disp "124->0"
Disp "125->1"
Disp "224->1"
Pause "333->0"
EffEcr
Goto 0
Lbl 1
Menu("JOUER","LANCER",6,"MISER",5,"STATS",7,"MISSIONS",8
Lbl 7
Disp "SCORE",S,"ARGENT",A,"MISE",M
EffEcr
Goto 1
Lbl 5
Repeat M=<A
Input ("COMBIEN",M
EffEcr
End
Goto 1
Lbl 6
entaléat(0,5->B
entaléat(0,5->C
entaléat(0,5->D
Disp B,C,D
Pause
EffEcr
If B=5 ou C=5 ou D=5
Then
1->R
Else
0->R
End
If B=C ou C=D ou D=B
Then
If B=C=D
Then
R+3->R
S+5->S
Else
R+1->R
S+1->S
End
End
A-M+R*M=A
If A=<0
Then
Pause "Game Over
If M>A
Then
M->A
End
EffEcr
Goto 3
End
Goto 1
Lbl 8
If F=<A
Then
S+10->S
10000->F
S*1.1->P
Disp "MISSION ARGENT
Pause "REUSSI+10P
If P=<S
Then
A*1.8->A
10000->P
A*1.1->F
Disp "MISSION SCORE
Pause "REUSSI+80/100
End
Disp "RECUPERE
If F>P
Then
Disp F
Pause "EUROS
Else
Disp P
Pause "POINTS
End
Goto 1
Le jeu se termine "successful" (message:fait) quand j'appuis sur mission.Et privilégiez la résolution de mon problème avant les petits gains de place
à gogo.
_________________________________________________________________________________________________
Et pour info je ne pas faire de screens ni de vidéos et encore moins importer ou exporter de ma calculette pour le moment
---------------------- testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
Mais cela vaut vraiment le coup ? Cela prend beaucoup d'espace, à mon avis c'est simple mais si je veux améliorer ce jeu avec des niveaux et des bonus de chance ou de gain à débloquer jusqu'à la fin de la partie et temporaires...
En tout cas je n'ai pas résolu le problème de départ.
---------------------- testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Dim 08 Sep 2013, 18:32
Bonjour,
Il y a un problème au niveau de ton lbl 8, lorsque tu utilises la structure If/Then/Else/End:
Code
Lbl 8
If F=<A
Then
S+10->S
10000->F
S*1.1->P
Disp "MISSION ARGENT
Pause "REUSSI+10P
If P=<S
Then
A*1.8->A
10000->P
A*1.1->F
Disp "MISSION SCORE
Pause "REUSSI+80/100
End
Disp "RECUPERE
If F>P
Then
Disp F
Pause "EUROS
Else
Disp P
Pause "POINTS
End
Goto 1 //Cette instruction n'est réalisée que si F<=A (condition de départ, puisque tu es toujours dans la structure If/Then...
Il faut donc que tu rajoutes un End (je ne sais pas où la condition doit se finir, c'est à toi de voir, je n'ai pas très bien regardé ton code)
Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Dim 08 Sep 2013, 18:59
Code
Code
Lbl 8
If F=<A
Then
S+10->S
10000->F
S*1.1->P
Disp "MISSION ARGENT
Pause "REUSSI+10P
End
If P=<S
Then
A*1.8->A
10000->P
A*1.1->F
Disp "MISSION SCORE
Pause "REUSSI+80/100
End
Disp "RECUPERE
If F>P
Then
Disp F
Pause "EUROS
Else
Disp P
Pause "POINTS
End
Goto 1
Merci à toi
---------------------- testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Dim 08 Sep 2013, 19:18
Si quelqu'un veut y jouer il faut ajouter un effecr avant le dernier goto 1
Et l'utilisation des missions s'avère cool car cela augmente la difficulté au fur et à mesure de la partie et avec des bonus cela va être encore mieux :-)
---------------------- testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Lun 09 Sep 2013, 20:55
A tien tu suit mon sujet.
Je suis touché et hop une update(qui n'est pas du tout terminé ) de ce que G fait.
Code
Lbl 3
0->S
100->A
10000->F
5->P
Lbl 0
Menu("MACHINE A SOUS","JOUER",1,"INSTRUCTION",2,"RESET",3
Lbl 2
Disp "124->0*mise"
Disp "125->1"
Disp "224->1"
Pause "333->0"
EffEcr
Goto 0
Lbl 1
Menu("JOUER","LANCER",6,"MISER",5,"STATS",7,"MISSIONS",8,"BONUS",9,"NIVEAU",17,RETOUR",0
Lbl 7
Disp "SCORE",S,"ARGENT",A,"MISE",M
EffEcr
Goto 1
Lbl 5
Repeat M=<A et M<1
Input ("COMBIEN",M
EffEcr
End
Goto 1
Lbl 6
entaléat(0,5->B
entaléat(0,5->C
entaléat(0,5->D
Disp B,C,D
Pause
EffEcr
If B=5 ou C=5 ou D=5
Then
1->R
Else
0->R
End
If B=C ou C=D ou D=B
Then
If B=C=D
Then
R+3->R
S+abs(√(M))->S
Else
R+1->R
S+abs(√(M)/3)->S
End
End
A-M+R*M=A
If A=<0
Then
Pause "Game Over
If M>A
Then
A->M
End
EffEcr
Goto 3
End
Goto 1
Lbl 8
If F=<A
Then
S+10->S
10000->F
S*1.2->P
Disp "MISSION ARGENT
Pause "REUSSI+10P
If P=<S
Then
A*1.5->A
10000->P
A*1.2->F
Disp "MISSION SCORE
Pause "REUSSI+50/100
End
Disp "RECUPERE
If F>P
Then
Disp F
Pause "EUROS
Else
Disp P
Pause "POINTS
End
EffEcr
Goto 1
Lbl 9
Menu("BONUS","DEBLOCABLE",10,"TEMPORAIRE",11,"RETOUR",1
Lbl 11
Menu("TEMPORAIRE","CHANCE+",12,"ARGENT+",13,"RETOUR",9
Lbl 10
Menu("DEBLOCABLE","XP+",14,"POINT+",15,"ARGENT+",16,"RETOUR",9
La flemme de copie les lbl à la fin pour pouvoir lancer le jeu mais vous voyez le principe.
Pour faire classe voici la description de l'update (comme les les vrais programmeurs de jeux):
-rajout de "retour" dans le menu "jouer"
-amélioration des gains de points en fonction de l'argent misé
-ajout interdiction de mise 0 euros (ça semble évident)
-bugfix anti-miser-plus-que-ce-qu'on-a-après-avoir-jouer
-difficultés supplémentaire des missions et gain inférieur (80 => 50)
-début de fonctions futures : Bonus et Niveau
Mais étant donné que je suis en secondes, je vais finir par arrêter la programmation donc je vais essayer de finir ce jeu puis replacer le code du premier message pour l'avoir direct pour ceux qui veulent l'utiliser.
A+
---------------------- testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Lun 09 Sep 2013, 21:01
Et pour le compacter j'ai regardé ton lien sur un autre sujet mais j'ai décidé que tes yeux et la mémoire de ma calto (c'est la premiere fois que j'utilise se therm) passe après le faite que le programme soit cool et fonctione
donc a la fin
A+
---------------------- testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Lun 09 Sep 2013, 22:16
C'est sur que l'optimisation n'est pas la chose la plus importante, mais tu as la chance de programmer sur un des langages les plus souples niveau syntaxe, donc autant en profiter
Mais je conçois bien sûr que ça ne soit pas prioritaire.
La fonction Disp peut afficher plusieurs arguments, séparés par des virgules, et les guillemets etc fermants sont facultatifs avant un retour à la ligne, ou un sto (->).
Citer
Mais étant donné que je suis en secondes, je vais finir par arrêter la programmation
Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Mar 10 Sep 2013, 19:51
Bonjour tout d'abord pour répondre à ta question le 26 ou 28 septembre je vais avoir un nouveau puzzle cube (je sais pas si tu connais)https://www.amazon.fr/Dayan-ZhanChi-vitesse-puzzle-Magique/dp/B00BS24Y6K/ref=sr_1_2?ie=UTF8&qid=1378829431&sr=8-2&keywords=dayan+zhanchi donc le dayan zhanchi
et donc je vais je pense y bosser laissant alors la prog derrière et j'estimerais que j'aurais marre de ce cube au niveau des vacances d'hiver et éventuellement je continuerais à programmer sur calto mais y a peu de chance et donc je veux finir ce prog ce qui est fait : il manque plus que le compactage et étant donné la longueur du code je pense avoir du boulot je vais donc à présent m’empresser de recopier ce code de nouveau
Mais avant cela je trouve ton commentaire par rapport avec mon code n'était pas complet à moins que tout soit compacte (envoi moi une grosse claque de compactification je ne t'en prive pas)
Code
Lbl 3
1->I
10->G
0->L
10->J
1->U
1->N
1->K
1000->X
1000->Y
1000->Z
0->S
100->A
-1->F
5->P
1->M
EffEcr
Lbl 0
Menu("MACHINE A SOUS","JOUER",1,"INSTRUCTION",2,"RESET",3
Lbl 2
Disp "124->0*mise","125->1","224->1
Pause "333->3
EffEcr
Goto 0
Lbl 1
Menu("JOUER","LANCER",6,"MISER",5,"STATS",7,"MISSIONS",8,"BONUS",9,"NIVEAU",17,RETOUR",0
Lbl 7
Disp "SCORE",S,"ARGENT",A,"MISE",M
Pause
EffEcr
Goto 1
Lbl 5
Repeat M=<A et M>0
Input ("COMBIEN",M
EffEcr
End
Goto 1
Lbl 6
entaléat(0,5->B
entaléat(0,5->C
entaléat(0,5->D
Disp B,C,D
Pause
EffEcr
If B=5 ou C=5 ou D=5
Then
1->R
Else
0->R
End
If B=C ou C=D ou D=B
Then
If B=C=D
Then
R+3->R
S+abs(_racinecarré_;(M)*K)->S
Else
R+1->R
S+abs(_racinecarré_;(M)/3*K)->S
End
End
A-M+R*M*N=A
If A=<0
Then
Pause "Game Over
Goto 3
End
If M>=A
A->M
EffEcr
Goto 1
Lbl 8
If F=<A et F>0
Then
S+10->S
-1->F
S*1.2->P
Disp "MISSION ARGENT
Pause "REUSSI+10P
L+20->L
End
If P-1=<S et P>0
Then
A*1.5->A
-1->P
A*1.2->F
Disp "MISSION SCORE
Pause "REUSSI +50/100
L+10->L
End
EffEcr
Disp "RECUPERES
If F>P
Then
Disp F
Pause "EUROS
Else
Disp P
Pause "POINTS
End
EffEcr
Goto 1
Lbl 9
EffEcr
Menu("BONUS","ARGENT+",10,"POINT+",11,"XP+",12,"RETOUR",1
Lbl 10
Disp "PASSER ARGENT+","COUT",Z,"NIVEAU",N,"OUI>O"
Lbl 13
codetouche->E
If E=0
Goto 13
If E=/=72 ou A=<Z
Goto 9
N+1->N
A-Z->A
Z*10->Z
Pause "ACHAT REUSSIT"
Goto 9
Lbl 11
Disp "PASSER POINT+","COUT",Y,"NIVEAU",K,"OUI>O"
Lbl 14
codetouche->E
If E=0
Goto 14
If E=/=72 ou A=<Y
Goto 9
K+1->K
A-Y->A
Y*10->Y
Pause "ACHAT REUSSIT"
Goto 9
Lbl 12
Disp "PASSER XP+","COUT",X,"NIVEAU",U,"OUI>O"
Lbl 15
codetouche->E
If E=0
Goto 15
If E=/=72 ou A=<X
Goto 9
U+1->U
A-X->A
X*10->X
Pause "ACHAT REUSSIT"
Goto 9
Améliorations majeurs ajout des fonction niveaux et Bonus. Oublie rapide à fixer: le bonus XP+ ne change en rien le gain d'XP. Sinon cela fonctionne parfaitement avec des parties en trois-quatre fasses: découverte du jeu en lui même, découverte des missions ,découverte des niveaux et éventuellement découverte des bonus si le joueur n'a pas gagner le jeu avant cela. Ces fasse sont censé enlever l'ennuis que l'on peut avoir à répéter le même gameplay (ou du moins la faire venir plus tard). Autre chose les missions sont réalisées en deux parties une qui nous demande de miser correctement pour atteindre un but en somme d'argent, l'autre qui demande de miser suffisamment de sous pour éviter de devoir spawmer le bouton comme un malade mais pas trop pour éviter de prendre trop de risques(à savoir cette seconde parie est plus facile que la première).
---------------------- testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mar 10 Sep 2013, 19:58
Citer
Mais avant cela je trouve ton commentaire par rapport avec mon code n'était pas complet à moins que tout soit compacte (envoi moi une grosse claque de compactification karate.gif je ne t'en prive pas)
Je ne suis pas sur d'avoir compris?
Déjà quand tu parles de compactification, tu veux dire optimisation?
Donc tu veux que je regardes pour voir ce qu'il y a à optimiser dans ton prgm? (je demande pour être sûr ^^)
Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Mar 10 Sep 2013, 20:07
Ouai, plie l'oeuvre du peintre pour qu'il puisse la transporter
ou si ta pas encore compris de manière simple ... c'est pas simple ... fais ce que tu as dit quoi:
Citer : m@thieu41
optimisation
---------------------- testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mar 10 Sep 2013, 21:09
Bah dans le jargon on parle d'optimisation, pas de "compactification" (j'avais encore jamais entendu ça) (Autant prendre les termes habituels pour être sur de quoi on parle ).
Je regarde ça.
Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Mer 18 Sep 2013, 17:47
Oui tu regardes ça
Lol regarde cela autant de fois que tu le veux mais je doute qu'un jour sans ce commentaire tu ne le ferais.
De toute façon ce jeu, devient trop facile lorsqu'on débloque les premiers bonus, il devient trop cheat de plus des problèmes au niveau de l'affichage des nombres : à un certain nombre il s'affiche en écriture scientifiques.
Mettre pleins de types de bonus, de mission ect. Rend la chose compliqué car il faudrait que tous nous servent et que tous soit aussi rentable sans être oger cheat ( je pense au bonus argent + qui nous permet d'obtenir trop facilement l'argent qu'on veux si bien qu'un spam au niveau du lancer peut faire un max de monais en quelques secondes)
Ouais donc a+
---------------------- testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Mer 18 Sep 2013, 20:10
Citer : clem494949
Oui tu regardes ça
Lol regarde cela autant de fois que tu le veux mais je doute qu'un jour sans ce commentaire tu ne le ferais.
...
Ouais donc a+
Houlà tu n'as pas besoin de me parler comme ça tu sais...
Tout d'abord sache que si je ne l'ai pas encore fait (et j'ai aussi un article à mettre à jour donc l'optimisation de ton prgm n'est pas forcément prioritaire), c'est que je n'ai tout simplement pas eut le temps, ou quand je l'avais bah j'étais pas motivé (si tu veux savoir j'ai fait un voyage scolaire à Briançon (un trou pommé où il fait -6°C) pour étudier des cailloux, donc j'ai pas pu répondre sur le forum ces derniers jours, donc laisse moi le temps d'arriver stp).