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 programmation


Cowiax Invité

Aide programmation

Posté le 08/09/2016 15:38

Bonjour, étant débutant en programmation sur calto, je voudrais savoir comment est-ce que je peux revenir à l'écran de menu (un peu comme un écran de morpion avec jouer et quitter) à la fin de ma partie de snake. et si quelqu'un pouvait me donner les lignes de codes pour un highscore, je lui en serait très reconnaissant ^^. Je peux, si possible donner le code entier si vous ne comprenez pas ma question.
Merci d'avance.


Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 08/09/2016 19:38 | #


Salut mon gars.

Pour un écran de menu, tu peux faire un truc simple. Tu crées un programme "MENU" (ou "LOL", "PLS", "MOIJE", enfin bref comme tu veux) qui te serviras de menu. Dans ce programme, tu sautes dans le sous-programme du moteur de jeu avec la commande Prog.
Lorsque tu veux quitter le jeu, il te suffit simplement d'employer la commande "Return" dans ton programme qui te feras revenir à là où tu étais dans ton programme MENU. Il suffit simplement de mettre tout ça dans une boucle et c'est chié. Regarde :
Programme MENU :
While 1
"MegaSnake !"
etc.
...
Prog "MOTEUR"
Whileend

Programme MOTEUR :
(le moteur du jeu)
...
"GAME OVER"
Return


Pour ce qui est des scores, tu peux enregistrer ça dans une matrice colonne, mais le plus intuitif pour toi serait de faire ça sur une liste. Depuis ton programme de jeu, tu peux exploiter des variables que tu retrouves dans le menu LIST de ta calto. C'est trop lol. Et tu sais quoi ? Cela fonctionne PAREIL qu'avec des lettres, à la différence près que tu peux jouer avec les indices. Voici des exemples de variable :
1→A
1→List 1[2] //la case 2 de la liste 1
1→Mat A[1,1]// la case 1,1 de la matrice A

Donc en gros, mettons que ton score final soit retenu dans la variable S. Voici comment enregistrer ton score avec une boucle simple. Mettons qu'il y ait un top 5 :

Dim List 1≠5⇒5→Dim List 1 //on initialise la liste si c'est pas fait.
For 1→A to 5
If List 1[A]<S
Then S→List 1[A]
"New record !"
Break //on sort de la boucle
IfEnd
Next


Bref. Sache que tu peux tout à fait mettre une variable à la place de l'indice. Maintenant yolo, vole, petit oiseau.
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !


Cowiax Invité

Citer : Posté le 09/09/2016 17:17 | #


Merci de ta réponse ^^. en attendant j'avais fais un truc dégueu de type :

Pour les score je les mets où dans le code en fait (ui je suis un tit peu bête)
et pour le menu j'ai fait quelque chose assez lourd avant de voir ton message de type:

Lbl 7
ClrText
4→M
Locate 5,4,"× Jouer"
Locate 7,6,"Quitter"
Do
Do:LpWhile Getkey
Do
Getkey
LpWhile Ans=0
M→N
Ans=28×M-4×Dsz M
Ans=37×M-6×Isz M
Locate 5,M,"×⇒"
M-N×Locate 5,N," "
LpWhile Ans-31
ClrText
M=6×Stop

et à la fin pour revenir au début je faisais :

Do
13→M
13=M×Goto 7
WhileEnd

Ducoup je te remercie beaucoup, je vais pouvoir diffuser ça au lycée et sur le site bientôt


Cowiax Invité

Citer : Posté le 09/09/2016 17:30 | # | Fichier joint


Petit problème, j'utilise déjà une liste et il me dit syntax error du coup voici le code complet
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 09/09/2016 21:59 | #


Bon, je regarde ton code, et je vois un truc bizarre.
Do
Do:LpWhile Getkey
Do
Getkey
LpWhile Ans=0


C'est mosh. Ta deuxième ligne ne sert à RIEN. Retire-la. De toute façon, tu ne sortiras pas de la troisième boucle tant que le joueur n'appuie pas sur une touche.

Ensuite. J'ai retrouvé la syntax error (ou l'une des syntax error), au début du code :
Ans=28⇒M-4⇒Dsz M
Ans=37⇒M-6⇒Isz M

Non, non, non et non. Ceci :
Ans=28⇒Dsz M

veut dire "Décrémente M si la variable Ans égale 28". Tu ne peux utiliser qu'une action quand tu vérifies une condition avec le "⇒". Si tu veux faire plusieurs actions (genre effectuer M-4→M et Dsz N) conditionnellement, utilise un if - then - ifend.
Je ne sais pas ce que t'as voulu faire précisément. Mais en tous les cas, tu violes la loi de la calculatrice en écrivant un truc pareil.

Par ailleurs, attention :
Do
13→M
13=M⇒Goto 7
WhileEnd

Soit c'est une boucle while - whileEnd, soit c'est une boucle Do - LpWhile. Ensuite, j'adore le truc inutile de demander à ta calculatrice d'aller au label 7 si M égale 13 alors que tu attribues à M la valeur 13 juste avant. C'est conceptuel.

Autre chose...

If G≠0
Then If G=31
Then Text 1,1,""◢ //j'imagine que c'est pour tester ton programme et le mettre en pause... Parce que sinon c'est useless.


Bon, sinon j'vais pas faire le reste à ta place quand même. Yolo.
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !


Cowiax Invité

Citer : Posté le 14/09/2016 05:26 | #


Encore merci de ta réponse, j'ai essayé avec ce que tu me disais sur la syntax error, sans la ligne avzc le isz, mon menu ne fonctionne pas ^^. Ensuite, pour le retour tu as raisonn c'est débile^^ et enfin pour la logne avzc le texte si je ne la mets pas le prgrmnee fonctionne pas, je sais pas trop pourquoi, et la ligne inutile je m'en suis rendu compte après car le menu viens d'un morpion^^ (si je poste le prgrm je citerai le créateur).
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 14/09/2016 13:00 | #


Le mieux est que tu réécrives ton code. Ce que tu as fait est un peu bordélique, en fait.

Couche ce que tu veux faire sur papier, fais des petits schémas, des bouts de code sur papier, etc. Après, une fois que tu as bien organisé ton truc, tu peux commencer à construire ton code. c'est frustrant de devoir réécrire un truc, mais ça va clarifier les choses et c'est sans doute mieux que de rafistoler un vieux fouillis qui ne fonctionne que de temps à autres.
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !

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