Version Française English Version Planete-casio.fr
Bienvenue sur la nouvelle version de planete-casio! Laissez vos impressions sur le forum!
Forums Casio - Projets de programmation

Index du Forum | Projets de programmation | [Snake] Petit projet :)
Proteine
Hors ligne
Statut: Membre
Niveau: Aucun
Points: 5
Défis: 0
Email | Message
Posté le 13/10/2007 18:38

[Snake] Petit projet :):

Bonjour a tous,

Je suis un débutant dans la prog, je m'étais lancé dans le basic il y'a 3 ou 4 ans, puis le c++ j'ai ensuite arrêté et la je reprends doucement mais surement avec un projet assez ambicieux pour mon niveau de connaissance !

Mon but est de réaliser un Snake, le fameux jeux ou l'on guide son serpent pour allez chercher sa nourriture, au plus il mange au plus il grandit, l'espace de déplacement étant limité au plus c'est dur, mais bon, je pense que tous le monde connais

J'ai procédé a la création du programme par étape :

1 - Le déplacement.

ViewWindow 1,127,0,1,63,0
Lbl 1
Plot X+1,Y
Getkey->k
K=38=>Goto 2
K=27=>Goto 1
K=28=>Goto 3
K=37=>Goto 4
Goto 1
Lbl 2
Plot X-1,Y
Getkey->k
K=38=>Goto 2
K=27=>Goto 1
K=28=>Goto 3
K=37=>Goto 4
Goto 2
Lbl 3
Plot X,Y+1
Getkey->k
K=38=>Goto 2
K=27=>Goto 1
K=28=>Goto 3
K=37=>Goto 4
Goto 3
Lbl 4
Plot X,Y-1
Getkey->k
K=38=>Goto 2
K=27=>Goto 1
K=28=>Goto 3
K=37=>Goto 4
Goto 4



Autant dire que j'ai tout a revoir, vu la quantité incroyable de Goto Mais je ne maitrise pas assez le basic pour avoir des solutions magique, alors si vous pouviez m'orienter ca serais cool

2 - L'apparition aléatoire de la nourrite, 2*2 pixels + Score 4 pts par nourritures.



ViewWindow 1,127,0,1,63,0

0->S

Lbl 9 // Génération aléatoire nourriture 2*2pxl
S+4->S
Text 58,1,Score : : Text 58,30,S
Int (115xRan#)+5->A
Int (55xRan#)+5->B
Plot A,B
Plot A+1,B
Plot A,B-1
Plot A+1,B-1

Lbl 1 // Si mon serpent touche la nourriture, génération d'une autre boullette
*Inclusion du programme de déplacement*
A=X And B=Y=>Goto 9
A+1=X And B=Y=>Goto 9
A=X And B-1=Y=>Goto 9
A+1=X And B-1=Y=>Goto 9



Bon voila, ici se posent donc plusieurs probleme :
- Serpent tjrs continue
- Nourriture se crée ailleur mais n'efface pas la précédente
- Serpent stopé et téléporté au point (A+1,B-1)

En bref,

Voila un peu mon avançée (durant quelques heures de cours de math ) ce post est bien entendu ouvert a tous ceux qui souhaiterais m'aider, je le rappelle je ne suis qu'un débutant sans prétention qui cherche a 'améliorer

Merci d'avance,

A bientôt.

-------------------------------------------------------------------
Text 1,5,"Graph 100+ addicted"
-------------------------------------------------------------------




Muelsaco
Hors ligne
Statut: Webmaster
Niveau: Elite
Points: 9133
Défis: 175
Email | Message
Posté le 13/10/2007 18:43 |
Ah ben j'ai répondu à ton message sur le FCC mais c'est mieux de poursuivre la discussion ici (plus actif).
----------------------------------
Calculatrices : Fx 92 Collège, Graph 25, Graph 65, Graph 85, Graph 100, Classpad 300.
Lenainnoir
Hors ligne
Statut: Super admin
Niveau: Elite
Points: 5145
Défis: 24
Email | Message
Posté le 14/10/2007 17:40 |
Programmer un snake pour un débutant n'est pas une chose aisée !

Tu dois trouver le moyen d'enlever tes Goto ! Utilise des conditions et des boucles de type Do/LpWhile ou While/Whileend
----------------------------------
Calculatrices : Fx 92 Collège, Graph 65, Graph 85, Classpad 300+.
Gadgetroch
Hors ligne
Statut: Modérateur
Niveau: Confirmé
Points: 1582
Défis: 10
Email | Message
Posté le 19/10/2007 20:00 |
OUi pask la les goto ca fait peur
Utilise une matrice et selon la valeur de la matrice
tu fais getkey->m
m->mat X[1,1] et tu dis que si m vaut 27 tu vas a droite sans t'areter sauf si A vaut 21 alors ton serpent est mort ( compatissons )
Voila, c'est comme je fais pour le debut mais j'ai la queue que j'arrive pas a faire disparaitre je vois pas comment faire, je suis sur que je connais le code mais j'arrive pas a le traduire en francais et si j'arrive pas c mort ><
----------------------------------
Calculatrice(s) : Graph 65 ; Graph 85 SD

" Si l'être humain ne me ressemble pas, si ses caractéristiques ne me correspondent pas, alors je confirme, je ne suis pas un être humain ! " Gadgetroch
Falistor
Hors ligne
Statut: Membre
Niveau: Aucun
Points: 1
Défis: 0
Email | Message
Posté le 01/11/2007 22:05 |
Bon je pense que c'est mon premier post en membre connecte, (avais pas su me conecter avant)
Donc petite presentation rapide : je ne connais pas la politique du site a ce sujet :
J'ai seize ans , j'utilise une graph 35+
et je me suis mis a la programmation car... je m'ennuyais en math( faut dire que la prof est lennttttee XD )
et 'ai un peu joue avec la calto de mon ami et j'ai eu evie de programmer mes programmes tout seul. 'J'avais aussi deja des notions de basic, de C , C++, Java, et HTML, mais je connaissais juste les fonctions et je ne programmais pas donc............
Je m'y met en commencer par de la programmation calto.
Vla desole, j'espere ne pas spoiler le topic .
------------------------------------------------
Alors pour effacer la queue?

ben pour effacer il faudrait pas utiliser la fonction cls?

Et alors tu essaies de faire apparaitre la boulette apres le snake dans une boucle
mais le snake va clignoter alors a cause du cls non?

et pour empecher le clignotement ben y fait demander aux autres..... Parce que je ne sais pas comment il faut faire e que dans mes tutos on en parlait mais pas de precisions....

voila ,
A+
Falistor.
Muelsaco
Hors ligne
Statut: Webmaster
Niveau: Elite
Points: 9133
Défis: 175
Email | Message
Posté le 02/11/2007 00:36 |
Tu dois simplement afficher un espace à la fin de ton snake Locate A,B," " avec A et B coordonnées de la queue de ton serpent.
----------------------------------
Calculatrices : Fx 92 Collège, Graph 25, Graph 65, Graph 85, Graph 100, Classpad 300.
Clem27
Hors ligne
Statut: Membre
Niveau: Confirmé
Points: 838
Défis: 6
Email | Message
Posté le 02/11/2007 10:07 |
heu, attention, ça risque d'être lent.
il vaut mieux penser à la rapidité dès maintenant.
ex :
quand on utilise getkey, il vaut mieux mettre l'instruction logique dans le getkey, plutot que des goto partout.
avec des goto, c'est beaucoup plus lent.
et si tu as un bouton valider, tu fait
do
'les getkey avec les instruction
lpwhile getkey different de 31
et en dessous, tout tes test logique
if X=1:then... :ifend
if X=2 and y=2:then....:ifend
----------------------------------
Lbl

vous aimez débattre ??? cliquer ici


Index du Forum | Projets de programmation | [Snake] Petit projet :)
Pseudo :
Adresse email :
Réponse :
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :?:  :arrow:  :!:  :here:
Ajouter fichier joint :


Me prévenir par mail lorsqu'une réponse est postée



Recherche :
Publicité et partenaires
Top Cinema par les créateurs de Planete Casio :
Découvrez le classement des meilleurs films et séries sur Top-cinema.com !

www.planete-casio.fr v3.0 © crée par Neuronix et Muelsaco 2007
Il y a 9 connectés | Nous contacter | Recherches effectuées | Liens | Forum Commun Casio