Un simple snake en java

Soyez le premier à donner votre avis sur cette source.

Vue 27 799 fois - Téléchargée 8 993 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

Messages postés
3
Date d'inscription
mercredi 29 juin 2011
Statut
Membre
Dernière intervention
31 décembre 2014

J'aime (y)
trop cool!!
Messages postés
43
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
11 octobre 2015

Ok, merci beaucoup pour tes conseilles, je comprend ce que tu veut dire maintenant ;)
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
294
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.
Messages postés
43
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
11 octobre 2015

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.