Un simple snake en java

Soyez le premier à donner votre avis sur cette source.

Vue 33 255 fois - Téléchargée 9 987 fois

Description

Un petit snake en Java sans image sans fichier de score ou de sauvegarde. Les couleurs du snake et des pommes sont au hasard.

Source / Exemple :


Le reste du code est dans l'archive !

/**

  • Faire avancer le serpent d'une case
  • /
public void avance() { for(int k=queu.size()-1;k>=0;k--)//Remplacer le Block n-1 par celui n queu.get(k).avance(); if(dir+dirAv != 0)//Ne peut pas ce diriger dans le sens contraire { tete.avance(dir);//On fait avancer la tete dans la direction dir dirAv=dir; } else tete.avance((short) (dirAv));//On fait avancer la tete dans la direction dirAv for(int k=0;k<queu.size();k++) if(queu.get(k).getLocation().equals(tete.getLocation()))//Si la tete touche un autre Block du serpent { statue = DEAD;//Bloquer le serpent Dialog.danger(null, "Perdu !"); } if(tete.posX == objectif.getPosX() && tete.posY == objectif.getPosY())//Si il a atteind un objectif { objectif.moveIt((int)(Math.random()*Data.NBRCASEX), (int)(Math.random()*Data.NBRCASEY)); this.addOne(); score++; ((JLabel)pc.getComponent(1)).setText(String.valueOf(score)); pc.repaint(); } }

Codes Sources

A voir également

Ajouter un commentaire Commentaires
zakaria1158 Messages postés 3 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 31 décembre 2014
31 déc. 2014 à 16:14
J'aime (y)
trop cool!!
Niidhogg Messages postés 43 Date d'inscription dimanche 8 février 2009 Statut Membre Dernière intervention 11 octobre 2015 1
10 févr. 2012 à 14:42
Ok, merci beaucoup pour tes conseilles, je comprend ce que tu veut dire maintenant ;)
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 366
8 févr. 2012 à 19:02
Oui, tu l'as fait à certains endroits, mais tu ne l'as pas fait entièrement (pas de cadre de documentation correct au dessus de la classe ni des paramètres et certains blocs ne présentent pas les informations auxquelles on s'attend)

A ta place, j'aurais découpé le code en plus de petites fonctions et à la place des commentaires faits avec // j'aurais utilisé la javadoc au dessus des fonctions plus modulaires. Tu aurais eu plus de facilités pour faire des tests unitaires.

D'ailleurs, // est utilisé pour bloquer du code lors de la conception de ton projet et /* */ (avec une seule étoile, ce n'est pas de la javadoc) est utilisé pour documenter ton code.

Mais bon, ce que tu as fait est vraiment bien, si toutes les sources étaient aussi bien documentées que la tienne, ce serait vraiment bien.

Je t'avais parlé de la doc pour donner des pistes d'amélioration, j'essaye toujours d'en mettre dans les commentaires. Mais bon, ce que tu as fait est très bien.
Niidhogg Messages postés 43 Date d'inscription dimanche 8 février 2009 Statut Membre Dernière intervention 11 octobre 2015 1
8 févr. 2012 à 17:03
Il me semble pourtant m'en être servit, comme dans Food.java:
/**
* Bouger l'objectif
* @param posX position horizontal de l'objectif
* @param posY position vertical de l'objectif
*/
public void moveIt(int posX, int posY)
{...

Non ?
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.