Un simple snake en java

Soyez le premier à donner votre avis sur cette source.

Vue 26 229 fois - Téléchargée 8 597 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

cs_Julien39
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
255
Bonjour,

Ce qui est vraiment bien dans ta source c'est que tu as fait une vraie conception objet. Il existe plusieurs jeux de ce type sur ce site mais aucun n'a une conception aussi propre.

Le résultat visuel n'est pas top par contre, mais il reste fonctionnel. Tu as fait l'effort de documenter ton code et les commentaires ajoutés sont bons, je te conseillerais néanmoins d'utiliser la javadoc, si tu ne sais pas comment l'écrire, le site du zero a un très bon tuto.

Très bonne source quand même
Niidhogg
Messages postés
43
Date d'inscription
dimanche 8 février 2009
Statut
Membre
Dernière intervention
11 octobre 2015

Merci beaucoup pour ta réponse. Effectivement la partie visuel je n'y est pas passé beaucoup de temps, elle me paraissais moins importante.
J'aurais néanmoins une question, qu'entend tu exactement par javadoc ?
cs_Julien39
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
255
javadoc est un outils initialement développer par sun pour générer de la documentation au format html à partir d'un code java. Cet outils est dans le jdk.

Pour cela, il faut que tu documentes ton code d'une manière précise, en utilisant les /** */, tu peux utiliser un certain nombres de mots clés @param, @return qui seront reconnus par le programme de lecture de ton code.

Je te conseil de lire ceci : http://www.siteduzero.com/tutoriel-3-35079-presentation-de-la-javadoc.html#ss_part_1
Niidhogg
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 ?
cs_Julien39
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
255
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.

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.