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 » Programme +OU-
Jules858 Hors ligne Membre Points: 78 Défis: 2 Message

Programme +OU-

Posté le 01/12/2013 00:18

Bonjours à tous,
je suis débutant de le domaine de la programmation et je souhaiterais aboutir à mon jeu que j'ai programmé. Pour la pratie jeu c'est ok mais j'ai voulu faire une partie highscores qui a fini par me faire arracher les cheveux
Je vous présente mon programme pas terminé et qui ne marche pas pour les highscores:
Lbl 3Ù
ClrTextÙ
Locate 4,2,"Menu :"Ù
Locate 6,4,"1. jeu"Ù
Locate 6,5,"2. scores"Ù
Locate 6,6,"3. quitter"Ù
DoÙ
GetkeyãCÙ
LpWhile CÈ72 And CÈ62 And CÈ52Ù
ClrTextÙ
C=72×Goto NÙ
C=62×Goto SÙ
C=52×StopÙ
Lbl NÙ
Int (100Ran#+1)ãAÙ
0ãCÙ
Lbl 0Ù
ClrTextÙ
"TROUVEZ LE BON NOMBRE(1~100)"Ù
?ãBÙ
ClrTextÙ
If A=BÙ
Then C+1ãC:CãList 1[4]:Locate 1,4,"BRAVO·!··!··!·,tu as reussi":Locate 6,5,"en":Locate 9,5,C:Locate 12,5,"coup(s)":List 1[1]=0×CãList 1[1]:List 1[1]È0 And List 1[2]=0×CãList 1[2]:List 1[1]È0 And List 1[2]È0 And List 1[3]=0×CãList 1[3]:Not List 1[1]=List 1[2]:Not List 1[2]=List 1[3]:Not List 1[1]=List 1[3]Ù
DoÙ
GetkeyãBÙ
LpWhile BÈ78Ù
B=78×Goto 3Ù
IfEndÙ
If B>AÙ
Then Locate 5,4,"LE NOMBRE EST":Locate 7,5,"INFERIEUR"Ù
For 1ãR To 1000Ù
NextÙ
C+1ãCÙ
Goto 0Ù
IfEndÙ
If B<AÙ
Then Locate 5,4,"LE NOMBRE EST":Locate 7,5,"SUPERIEUR"Ù
For 1ãR To 1000Ù
NextÙ
C+1ãCÙ
Goto 0Ù
IfEndÙ
Lbl SÙ
If C<List 1[3] And C<List 1[2] And C<List 1[1]Ù
Then List 1[1]ãList 1[2]:List 1[2]ãList 1[3]:CãList 1[1]Ù
IfEndÙ
If C>List 1[1] And C<List 1[2] And C<List 1[3]Ù
Then List 1[2]ãList 1[3]:CãList 1[2]Ù
IfEndÙ
If C>List 1[1] And C>List 1[2] And C<List 1[3]Ù
Then CãList 1[3]Ù
IfEndÙ
Locate 7,3,"1er :"Ù
Locate 12,3,List 1[1]Ù
Locate 7,4,"2eme:"Ù
Locate 12,4,List 1[2]Ù
Locate 7,5,"3eme:"Ù
Locate 12,5,List 1[3]Ù
DoÙ
GetkeyãSÙ
LpWhile SÈ31Ù
S=31×Goto 3

En espérant que vous pourrez m'aider...


Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 01/12/2013 00:38 | #


il existe une facon simple de faire les scores avec les listes


C>list 1[3]=>C->list 1[3] // si C doit rentrer dans le top 3
SortD (list 1) // on trie la liste 1 du plus grand au plus petit


et voila, tu as ta liste 1 remplie avec les meilleurs scores et triée

et si tu veux plus d'info sur sortD
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 01/12/2013 06:32 | #


pour la méthode de dodormeur, il ne faut pas oublier d'initialiser la liste a de 3 taille avec le code:
3->Dim List 1

et je pense que la méthode que dodormeur t'a donné est l'une des plus compactes et rapides en basic

Ajouté le 01/12/2013 à 06:36 :
autre détail, tu peux proposer d'initialiser la liste en début de programme (ce qui reset les scores), de cette manière les scores ne seront pas supprimés automatiquement au lancement du programme si on ne le veut pas.
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Jules858 Hors ligne Membre Points: 78 Défis: 2 Message

Citer : Posté le 01/12/2013 11:09 | #


Ok merci, je vais essayer de le boucler (le finir quoi)...

Juste pour avoir votre avis je me demandais pourquoi mon system ne marche pas car j'ai mis beaucoup de conditions qui doivent bien le placer (C)...?
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 01/12/2013 12:57 | #


Cet exemple illustre bien les fonctions de tri, je l'ai ajouté au nouveau tutoriel de programmation
Jules858 Hors ligne Membre Points: 78 Défis: 2 Message

Citer : Posté le 01/12/2013 13:37 | #


Ok merci de m'aider
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 01/12/2013 14:14 | #


Désolé, je n'ai vu ta question qu'après avoir posté mon message.
Tu as du faire trop compliqué. Un exemple où ça ne marche pas :
If C<List 1[3] And C<List 1[2] And C<List 1[1]
Then [u]List 1[1]->List 1[2]:List 1[2]->List 1[3][/u]:C->List 1[1]
IfEnd


1) List 1[1] -> List 1[2] (ok)
2) List 1[2] -> List 1[3] => pas bon ! En effet, juste avant tu as fait remplacé List 1[2] par List 1[1]. Donc, si on lit le code, List 1[3] = List 1[2] = List 1[1]. Le contraire aurait été mieux :

If C<List 1[3] And C<List 1[2] And C<List 1[1]
Then List 1[2]->List 1[3]:List 1[1]->List 1[2]:C->List 1[1]
IfEnd

Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 05/12/2013 12:22 | #


Ah ça m'intéresse ça Totoyo

Merci Dodormeur, c'était un super exemple très clair, je ais souvent le réutiliser pour mes scores !

Limachi a écrit :
tu peux proposer d'initialiser la liste en début de programme

Tu veux dire de mettre 3->Dim List 1 au tout début du programme, en toute première ligne ? Par ce que si on ne fait pas ça, les scores s'effaceront ?

Par ce que dans mon cas, je préfère comme tout le monde normalement de laisser les scores récents et que les meilleurs s'ajoutent d'eux mêmes, ce qui me paraît normal
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 05/12/2013 13:38 | #


Eltoredo a écrit :
Tu veux dire de mettre 3->Dim List 1 au tout début du programme, en toute première ligne ? Par ce que si on ne fait pas ça, les scores s'effaceront ?

non, c'est justement l'inverse, mettre 3->Dim List 1 en début de programme supprimerais les scores, ce que je te proposer est de faire que ton programme demande a l'utilisateur si il veut initialiser les listes, ce qui supprimerais les scores (mais ne pas avoir de liste 1 ferait planter le programme aussi)
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 05/12/2013 17:59 | #


Ah c'est pas bête, dans ce cas la une simple condition avec une question suffit A la place je proposerais plutot de faire un sous-menu "Réinitialisation"
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 05/12/2013 19:43 | #


D'un point de vue ergonomique, c'est l'idéal, mais certains jeux ont besoin de la liste dès le menu principal.
Il faut donc mieux passer par un autre programme indépendant pour ne pas saouler l'utilisateur en lui proposant à chaque fois d'initialiser
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 06/12/2013 07:52 | #


c'est effectivement une bonne solution (le programme annexe)
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 06/12/2013 08:43 | #


Ouais c'est pas bête
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 06/12/2013 17:15 | #


Au pire, tu demande si il veut initialiser le jeu depuis le début lors de la première utilisation (avec l'astuce de Btl pour savoir si une liste existe ) et ensuite tu fais un menu "Options" avec la commande "Réinitialiser" et voila.
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)

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