Evolution du Projet:
- Menu: 100%
- Enregistrement d'un reccord: 0%
- Graphisme du Snake: 40%
* G?rer des "billes": 0%
* G?rer la "queue du Snake": 60%
Langues: Fran?aise / Anglaise
Pour plus de descriptions t?l?charger le fichier zip et contactez-moi.
Salut je suis nouveau ici, je programme un peu sur ma 65 à mes heures perdues!
J'ai souvent essayé de faire un snake mais je n'ai jamais reussi !
Bon le snake en lui meme la direction dans laquelle il va c'est plutot simple mais ça toujours été cette queue mon probleme!
il faudrait la reperer tout le temps pour pouvoir l'effacer et son reperage est plutot complexe ! (du moins il me semble..)
Enfin si quelqu'un pouvait m'éclairer ce serai sympa !
merci
Elle est souvent posée cette question, faudrait faire un tuto
Alors, le plus simple pour gérer un snake, c'est d'utiliser 2 matrices. Une matrice pour la "map" qui a les dimensions de l'espace ou se déplace le snake (par exemple 21*7 si tu utilise le Locate)
Cette matrice sert a savoir quelle case sont libres et quelles cases sont occupées (par une pomme, un morceau du serpent, ou un mur)
La seconde matrice sert a enregistrer les emplacements de chaque morceaux du serpent.
Cette matrice doit donc avoir 2 lignes (pour les coordonnées de chaque point, abscisse et ordonnée) et autant de colonne que le serpent a d'anneau. Donc pour un serpent de longueur 5, on utilise une matrice de 5*2. Dans la première ligne on stocke l'abscisse, dans la seconde on stocke l'ordonnée.
Quand le snake avance, seuls 2 points changent, la tête et la queue, donc inutile de bouger tous les nombres dans la matrice, on va simplement inscrire les nouvelles coordonnées de la tête là où étaient stockées les coordonnées de la queue (maintenant effacée)
Exemple, un snake de 5 de long qui avance sur la première ligne de l'écran, la matrice va faire :
[1,2,3,4,5]
[1,1,1,1,1]
[6,2,3,4,5]
[1,1,1,1,1]
[6,7,3,4,5]
[1,1,1,1,1]
[6,7,8,4,5]
[1,1,1,1,1]
Tu comprend?
Il faut donc mémoriser l'emplacement de la tête dans cette matrice, et quand la tête arrive au bout de cette matrice, elle revient au début.
De cette manière, on peut effacer la queue car on a mémoriser ses coordonnées, et stocker les coordonnées de la tête a ce même emplacement.
Avec ça tu devrait pouvoir faire un bon snake. Si tu as un peu de mal a visualiser, regarde le code de celui ci, il t'aidera a comprendre.
Merci beaucoup pour la reponse eclair !
je commence à comprendre...et après pour l'agrandissement du serpent tu rajoute genre 1 colonne à la fin de la matrice si j'ai bien compris?
En tout cas merci beaucoup !
je posterai bientot un pti jeu que chui en train de finir
@+ tard
Le problème avec cette commande, c'est que ça ralentit aussi la sensibilité des touches et offre un jeu moins esthétique. (Je cherche un moyen de passer outre mais j'y arrive pas... )
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