Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Aide pour un jeu
Scrat Hors ligne Membre Points: 24 Défis: 0 Message

Aide pour un jeu

Posté le 09/05/2014 11:57

Alors voila, j'aime beaucoup Diablo, et je voulais créer un jeu a son honneur.
Dans Diablo 3, il y a théoriquement 1 Chance sur 1000 d'avoir un légendaire,
j'ai voulut créer un jeu avec une chance sur 1000.


0→A
Do
Int (Ran#x1001)→A
If A=0
Then legendaire
IfEnd
If A=1000
Then "legenvert"
IfEnd
LpWhile A=1001


Le code marche parfaitement, mais le problème vient que je voudrait faire un compteur.
J'ai voulut commencer par un simple Locate, cela afficher toujours zéro.
Je voudrait faire un compteur pour le nombre de légendaire ( le plus simple ), ainsi qu'un compteur pour le nombre de fois que l'ont appuis sur " exe "

Je vous remercier d'avance pour votre aide, et précise au passage que je n'est jamais rien coder sur Casio, je me suis lancer il y a peu de temps, donc mon programme n'est pas du tout ergonomique ...
voila voila


1, 2, 3, 4 Suivante
Lephenixnoir En ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 09/05/2014 12:01 | #


Ta boucle tourne tant que A=1001, mais a change à chaque tour. Il y a très peu de chance pour que tu fasses plus d'une itération.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Scrat Hors ligne Membre Points: 24 Défis: 0 Message

Citer : Posté le 09/05/2014 12:05 | #


mon but est d'avoir un jeu infini, le random va de 0 a 1000, le 1001 est donc fais exprès.
et vu que c'est infini, le compteur je les fais juste après le do, mais cela ne marche pas il reste bloquer a zéro ..
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 09/05/2014 12:07 | #


Dans ce ca, il faut faire LpWhile A≠0
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 09/05/2014 12:08 | #


Oui, puisque la première fois A prend une valeur aléatoire. À la fin de la boucle, on vérifie que A=1001, mais c'est impossible ! Il faut mettre A != 1001
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Maliafo Hors ligne Membre Points: 236 Défis: 27 Message

Citer : Posté le 09/05/2014 12:09 | #


Int (Ran#x1001)→A

ça te donne un nombre entier entre 0 et 1000
Do
...
LpWhile A=1001


Te fait rester dans la boucle tant que A est égal a 1001
Or, a cause de la première ligne, A n'est JAMAIS égal a 1001

Tu voulais pas mettre plutôt ça ?
Do
...
LpWhile A!=1001

Comment recouvrir la Terre avec du cuir ?
Avec la semelle de nos chaussures, on en fait autant
Scrat Hors ligne Membre Points: 24 Défis: 0 Message

Citer : Posté le 09/05/2014 12:11 | #


Je viens de comprendre, le faite de mettre != 0 ou 1001 fais que la calculette fais des nombre aléatoire toute seule, or je veut que chaque nombre aléatoire créer soit fais par l'utilisateur, je ne peut donc mettre != d'un nombre.
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 09/05/2014 12:12 | #


En gros il faudrait:
0→A
0 -> C
Do
Int (Ran#x1001)→A
If A=0
Then legendaire
Isz C
IfEnd
If A=1000
Then "legenvert"
IfEnd
LpWhile 1

Avec C ton compteur
Scrat Hors ligne Membre Points: 24 Défis: 0 Message

Citer : Posté le 09/05/2014 12:24 | #


Alors voici mon programme maintenant:
0→A
0→C
Do
Locate 5,5,C
Int (Ran#x1001)→A
If A=0
Then legendaire
Isz C
IfEnd
If A=1000
Then "legenvert"
Isz C
IfEnd
LpWhile A=1001


Alors le compteur ne compte pas les légendaire ou legenvert, et de plus le compteur défile vert le haut en ce multipliant, je vois 4 zéro au lieu de un seul..
Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 09/05/2014 14:45 | #


Do:LpWhile Getkey ≠ 31


Le joueur devra appuyer sur EXE pour generer un nouveau nombre aleatoire.
C'est ca que tu voulais ?
1337
Scrat Hors ligne Membre Points: 24 Défis: 0 Message

Citer : Posté le 09/05/2014 14:56 | #


Ah oui très bonne réflexion !
Et pour le compteur ? vraiment je galére ..
Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 09/05/2014 15:07 | #


Pour le compteur j'ai pas vraiment compris.
Tu peux re-expliquer ?


Ajouté le 09/05/2014 à 15:16 :


0→A
0→B
0→C
Locate 3,3," Legendaire(s) : "
Locate 3,4,"Legenvert(s) :"
Do
Int (Ran#x1001)→A
If A = 0
Then Isz B
Locate 18,3,B
Ifend
If A = 1000
Then Isz C
Locate 18,4,C
Ifend

0→A
Lpwhile Getkey ≠ 31


Dit moi si c'est ce que tu voulais

1337
Maliafo Hors ligne Membre Points: 236 Défis: 27 Message

Citer : Posté le 09/05/2014 15:35 | #


Pas plutôt quelque chose comme ça ?
0→A
0→B
0→C
[b][brown]Locate[/brown][/b] [maroon]3[/maroon],[maroon]3[/maroon],[gray]" Legendaire(s) : "[/gray]
[b][brown]Locate[/brown][/b] [maroon]3[/maroon],[maroon]4[/maroon],[gray]"Legenvert(s) :"[/gray]
[b][blue]Do[/blue][/b]
Int (Ran#x1001)→A
[b][blue]If[/blue][/b] A = [maroon]0[/maroon]
[b][blue]Then[/blue][/b] [b][blue]Isz[/blue][/b] B
[b][brown]Locate[/brown][/b] [maroon]18[/maroon],[maroon]3[/maroon],B
[b][blue]Ifend[/blue][/b]
[b][blue]If[/blue][/b] A = [maroon]1000[/maroon]
[b][blue]Then[/blue][/b] [b][blue]Isz[/blue][/b] C
[b][brown]Locate[/brown][/b] [maroon]18[/maroon],[maroon]4[/maroon],C
[b][blue]Ifend[/blue][/b]

0→A
[b][blue]Do[/blue][/b]:[b][blue]LpWhile[/blue][/b] Getkey = [maroon]31[/maroon]
[b][blue]Do[/blue][/b]:[b][blue]LpWhile[/blue][/b] Getkey ≠ [maroon]31[/maroon]
[b][blue]LpWhile[/blue][/b] [maroon]1[/maroon]


Mais j'avoue que je suis pas sur d'avoir compris non plus
Comment recouvrir la Terre avec du cuir ?
Avec la semelle de nos chaussures, on en fait autant
Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 09/05/2014 15:41 | #


Oui tu as raison.
J'avais oublier vu que dans mon cas on pourrait tout simplement rester appuyer sur [EXE]. Alors que la on est bien obligé de relâcher .

Ajouté le 09/05/2014 à 15:44 :




0→A
0→B
0→C
Locate 3,3," Legendaire(s) : "
Locate 3,4,"Legenvert(s) :"
Do
Int (Ran#x1001)→A
If A = 0
Then Isz B
Locate 18,3,B
Ifend
If A = 1000
Then Isz C
Locate 18,4,C
Ifend

0→A
Do:LpWhile Getkey = 31
LpWhile Getkey ≠ 31




Je propose un mix des 2
1337
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 09/05/2014 15:54 | #


0→A~C
[b][brown]Locate[/brown][/b] [maroon]3[/maroon],[maroon]3[/maroon],[gray]" Legendaire(s) : "[/gray]
[b][brown]Locate[/brown][/b] [maroon]3[/maroon],[maroon]4[/maroon],[gray]"Legenvert(s) :"[/gray]
[b][blue]Do[/blue][/b]
Int (Ran#x1001)→A
[b][blue]If[/blue][/b] Not A [b][blue]Then[/blue][/b]
Isz B
[b][brown]Locate[/brown][/b] [maroon]18[/maroon],[maroon]3[/maroon],B
[b][blue]Else[/blue][/b] [b][blue]If[/blue][/b] A = [maroon]1000[/maroon] [b][blue]Then[/blue][/b]
Isz C
[b][brown]Locate[/brown][/b] [maroon]18[/maroon],[maroon]4[/maroon],C
[b][blue]IfEnd[/blue][/b]
[b][blue]IfEnd[/blue][/b]
[b][blue]Do[/blue][/b]:[b][blue]LpWhile[/blue][/b] [b][brown]Getkey[/b][/brown] ≠ 31
[b][blue]Do[/blue][/b]:[b][blue]LpWhile[/blue][/b] [b][brown]Getkey[/b][/brown]
[b][blue]LpWhile[/blue][/b] [maroon]1[/maroon]

Lephenixnoir En ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 09/05/2014 16:03 | #


Je ne vois pas pourquoi vous vous cassez la tête ?
0->A~C
"Legendaires":"Legenverts"

While 1
Locate 13,1,B
Locate 13,2,C
RanInt#(0,1000)->A
A=0=>Isz B
A=1=> Isz C
Do:LpWhile Getkey!=31
Do:LpWhile Getkey
WhileEnd


Cartix, si tu tiens à n'afficher que lorsque qu'un legen* est trouvé, alors tu ferais mieux de ne pas demander à l'utilisateur d'appuyer sur EXE à chaque tour, non ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Scrat Hors ligne Membre Points: 24 Défis: 0 Message

Citer : Posté le 09/05/2014 17:30 | #


mon petit programme :



0->A~C
"Legendaires":"Legenverts":"Monstre Tué"
While 1
Locate 13,1,B
Locate 13,2,C
Locate 13,3,A    ( [b][u]?[/u][/b] )
A=0=>Isz B
A=1000=>Isz C
Do:LpWhile Getkey!=31
Do:LpWhile Getkey
WhileEnd



Le programme marche parfaitement ! merci beaucoup, en plus de m'avoir aidé vous m'avez beaucoup appris
De plus, je ne vous avez pas demander d'enlever les chiffres de A sur l’écran mais c'est parfait !
Il me manque juste une chose pour que ce petit programme ce termine, j'aimerais pour remplacer tout les random sur l’écran, un compteur de monstre tué; Le nombre de fois que l'ont a appuis sur EXE

Bien entendu j'ai mis | Locate 13,3,A | mais je sais que ce n'est pas sa, je me suis creuser la tête, mais j'ai encore une fois pas trouvé

En tout cas merci a tous déjà pour cette enorme aide !
Lephenixnoir En ligne Administrateur Points: 24572 Défis: 170 Message

Citer : Posté le 09/05/2014 17:35 | #


A, c'est la valeur aléatoire qui est sortie du monstre (ici, du monstre précédent).
D'ailleurs, tu n'as pas oublié l'instruction aléatoire ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Scrat Hors ligne Membre Points: 24 Défis: 0 Message

Citer : Posté le 09/05/2014 17:39 | #


Oui je sais très bien, j'ai mis A pour meubler

Je voudrait un autre compteur qui comptabilise tout les fois ou on a appuyer sur EXE,
J'avais idée de faire un truc comme:

A=0=>Isz B
A=1000=>Isz C
A≥0=>Isz Z

Avec Z a la place de A en haut.
Une bonne idée ?
Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 09/05/2014 17:42 | #


Oui c'est une bonne idée, ça fonctionnera très bien
1337
Scrat Hors ligne Membre Points: 24 Défis: 0 Message

Citer : Posté le 09/05/2014 17:42 | #


Sa marche parfaitement :


0->A~C
"Legendaires":"Legenverts":"Monstre Tué"
While 1
Locate 13,1,B
Locate 13,2,C
Locate 13,3,K
A=0=>Isz B
A=1000=>Isz C
A≥0=>Isz K
Do:LpWhile Getkey!=31
Do:LpWhile Getkey
WhileEnd


Pour un premier programme je suis assez fière de moi surtout dans les connaissance, merci beaucoup, je vais encore un peu le travailler !
1, 2, 3, 4 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 226 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd