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...
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
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
merci a tout le monde pour son soutien
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 !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:
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.
-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
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
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)...?
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
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 01/12/2013 13:37 | #
Ok merci de m'aider
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 :
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 :
Then List 1[2]->List 1[3]:List 1[1]->List 1[2]:C->List 1[1]
IfEnd
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
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 !
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
Citer : Posté le 05/12/2013 13:38 | #
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)
-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
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
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"
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
Citer : Posté le 06/12/2013 07:52 | #
c'est effectivement une bonne solution (le programme annexe)
-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
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 06/12/2013 08:43 | #
Ouais c'est pas bête
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.
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)
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)