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.
Entraide

Problème avec un programme ? Tu sais pas comment transférer un programme ? Tu es bloqué avec ton projet ?

Planète-Casio est une communauté d'entraide regroupant de fins connaisseurs sur les Casio qui seront ravis de te dépanner !

Allez sur le Forum partie Problèmes pour exposer votre souci et obtenir de l'aide.

Si vous cherchez à perfectionner votre niveau en programmation, visitez la section Astuces du forum et les Articles de qualité.

Défi
Retour liste des défis
Snake
Difficulté : Difficile
Défi ajouté par : Meithal le 28-08-2005 22:55
MeithalHors ligneAncien administrateurPoints: 3125 Défis: 7 Message
Question ou texte du défi :
Créez un snake.

Critères de réussite :

-Rapidité de déplacement du sepent
-Réactivité et jouabilité
-Le jeu doit avoir exactement la même vitesse lorsque le serpent est composé de 3 ou 50 segments
-Vous pouvez le faire en locate ou graphique. C'est a vous de juger ce qui est le plus rapide.
-Lorsque le serpent touche un obstacle (un mur ou lui même), le joueur doit avoir un peu de temps pour changer de trajectoire avant l'arret de jeu.
-L'apparition des appats doit se faire aléatoirement et ne doit pas apparaite sur une case occupée par le serpent.
-Aucune contrainte de taille ni de codage.


Commentaires :
Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 | Suivante

MuelsacoHors ligneFondateurPoints: 9335 Défis: 175 Message
Posté le 22-11-2005 à 20:49 | #
Au fait il y a emanup qui a créé un snake il pourrait aussi avoir sa note je pense (à part si ce n'est pas pour le défis mais bon je ne pense pas vu qu'il y en a déjà quelques uns de snakec )
ZeforticheHors ligneAncien administrateurPoints: 5394 Défis: 54 Message
Posté le 22-11-2005 à 20:53 | #
mais il a encore du boulot avec tous ses bugs
et toi t'en est où avec le tien muelsaco?
MuelsacoHors ligneFondateurPoints: 9335 Défis: 175 Message
Posté le 22-11-2005 à 20:56 | #
Moi j'arrive à l'optimiser un peu mais le bug je le vois que très rarement donc assez dur à mettre en avant pour le résoudre plus facilement... Sinon si je n'arrive pas à le trouver d'ici peu je posterais quand même le snake et verrais plus tard si je trouve ou quelqu'un d'autre trouve l'erreur
NeuronixHors ligneFondateurPoints: 4488 Défis: 21 Message
Posté le 26-11-2005 à 11:10 | #
Moi je sais comment faire un snake ultra rapide avec juste une matrice...le seul probleme c'est qu'il ne pourra pas avoir la meme maniabilité qu'un serpent normal à cause de certains bugs que je ne sais pas comment supprimer
Je m'explique :

L'idée c'est de tout simplement supprimer le dernier segment du serpent à chaque tour (ce qui permet de supprimer le for et Swap dans mon serpent). Le probleme c'est qu'il faut ensuite définir le segment qui sera à supprimer au prochain tour.

Réduisons le plan de travail à une grille de 3*3 cases ou la case du milieu est le segment à supprimer. Le segment à suppriemr au prochain tour se trouve donc dans une des autres cases.

Il faut donc faire un test des cases à proximité pour savoir quelle cases est "remplie" et donc trouver le prochain segment.

Le probleme qui se pose est lorsque l'on fait un virage à 180°.
Exemple :

[1 1 1]
[0 1 1]
[0 0 0]

Comment savoir juste avec un test si c'est la case Mat [1,2] ou la case Mat [2,3] qui est le prochain segment?
Vous allez me dire qu'il suffit de voir que la case Mat [3,3] est vide! Et ben ....que se passe-t-il lorsque l'on fait un virage à 180° suivi d'un virage vers le haut?

on a
[0 1 0]
[0 1 1]
[0 1 1]
[0 0 0]

ou Mat [3,2] est le dernier segment...les cases Mat [3,3] et Mat [2,1] sont toutes les deux vides....

Voila si vous trouvez la solution à ceci vous avez le serpent le plus rapide possible
MuelsacoHors ligneFondateurPoints: 9335 Défis: 175 Message
Posté le 26-11-2005 à 11:41 | #
mdr c'est exactement çà que j'ai fais sauf que j'ai trouvé la réponse à ta question C'est pour çà que je te disais que je n'avais pas besoin de listes
Je vais le mettre sur le site cette aprem même si il y a un toujours un bug inexpliqué...
MeithalHors ligneAncien administrateurPoints: 3125 Défis: 7 Message
Posté le 26-11-2005 à 12:23 | #
Sinon, il y'a égelement une autre solution mais qui tient dans une liste énorme
NeuronixHors ligneFondateurPoints: 4488 Défis: 21 Message
Posté le 26-11-2005 à 19:09 | #
Lol il m'a suffit de lire une ligne de ton code pour voir comment tu as fait :
{42,14}->Dim Mat...

j'avais pensé à sauter une ligne entre chaque segment mais je pensais etre ramené au meme probleme j'aurais du chercher un peu plus lol.

En tout cas je pense que tu es vainqueur du défi Muelsaco
ZeforticheHors ligneAncien administrateurPoints: 5394 Défis: 54 Message
Posté le 26-11-2005 à 19:11 | #
faudrait quand même vérifier pour son bug des fois qu'il existe toujours
MuelsacoHors ligneFondateurPoints: 9335 Défis: 175 Message
Posté le 26-11-2005 à 19:11 | #
héhé çà fais longtemps que je voulais faire ce snake et je l'ai enfin fais comme je le souhaitais. Par contre je ne pensais pas tombé sur un os
Vas y dit moi si tu le revois et stop le prog tout de suite et va me dire la valeur de Mat A[1,1]
ZeforticheHors ligneAncien administrateurPoints: 5394 Défis: 54 Message
Posté le 26-11-2005 à 19:20 | #
mais il ressemble à quoi ce bug exactement?
c'est un simple ralentissement?

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 110 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