begin process at 2012 05 24 05:16:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > UN SIMPLE SNAKE EN JAVA

UN SIMPLE SNAKE EN JAVA


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Classé sous :Snake, Serpent, Simple, Jeu 2D, Plateforme Niveau :Débutant Date de création :05/02/2012 Vu / téléchargé :1 745 / 297

Auteur : Niidhogg

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • 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();
  • }
  • }
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();
		}
	}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture DEMY, UN DÉMINEUR EN JAVA
Source avec Zip CLASS DEMINEUR
Source avec Zip Source avec une capture BALLE REBONDISSANTE 3D

 Sources de la même categorie

Source avec Zip Source avec une capture DÉMINEUR PARAMÉTRABLE par Julien39
Source avec Zip Source avec une capture [MIDP] SIMPLE CHESS BOARD par loloof64
Source avec Zip Source avec une capture JEU DE DAMES par Julien39
Source avec Zip BLACKBOX SWING ET JAVA2D par GodConan
Source avec Zip Source avec une capture COMBAT DE SERPENTS VERSION MIDLET par khilio

 Sources en rapport avec celle ci

Source avec Zip SNAKE AVEC JAVA2D ET IMAGES par qhhu
Source avec Zip JEU DU SNAKE EN JAVA(AVEC UN PROBELME DE DIRECTION) CORRECTI... par pierrickwa
Source avec Zip Source avec une capture JEU SNAKE EN APPLET GRAPHIQUE, SIMPLE, EFFICACE ET ENTIEREME... par o00zeus00o
Source avec Zip Source avec une capture LE JEU DU VER par Diabolus
PETIT SERPENT NON DÉFINITIF par AbyssPhoenix

Commentaires et avis

Commentaire de Julien39 le 08/02/2012 08:16:11 administrateur CS 8/10

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

Commentaire de Niidhogg le 08/02/2012 10:03:12

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 ?

Commentaire de Julien39 le 08/02/2012 10:52:40 administrateur CS

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

Commentaire de Niidhogg le 08/02/2012 17:03:56

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 ?

Commentaire de Julien39 le 08/02/2012 19:02:05 administrateur CS

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.

Commentaire de Niidhogg le 10/02/2012 14:42:27

Ok,  merci beaucoup pour tes conseilles, je comprend ce que tu veut dire maintenant ;)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

recherche d'un jeu simple en java [ par ponchovilla ] bonjour,je dois réaliser comme projet un jeux en java qui pourra etre jouer en réseaux (genre un jeux de cartes) qui se joue à plusieurs (à 2, c'est d probleme pour un code calculatrice [ par ant01ne ] Salut,Voila je suis un debutant en JAVA et j'aimerais creer une calculatrice toute simple avec seulement un clavier que j'ai deja creer incluant les 1 jeux de serpent [ par adrienzel ] Salutje dois rendre un petit projet en Java (J buider) pour le 20 maice projet est la programmation d'un jeux de serpent simple: le serpent mange une VECTOR, problème. [ par MdcPhoenix ] Voilà c'est assez simple, une variable de type Vector contient un certains nombre de variable type Object.En l'occurence, moi j'ai rempli mon vector a inserer un editeur de tetxe SIMPLE [ par Fredinconnu ] Bonjour, débutant parfait, je suis à la recherche d'une possibilité d'insérer dans une page html un bouton qui ouvrirait une popup (ou fenetre) avec u recherche un space invaders en java simple [ par hallardc ] bonjour, je suis etudiant et nous devons réaliser un petit en java, ou utiliser un jeu deja fait et l ameliorer. Je plus k une semaine pour le realise Méthode simple de construction de jtable.... [ par SpicyJR ] ...à partir d'un résultat d'une requête ??????????J'en appel à toutes les âmes charitables :DSi elles pouvaient ossi me dire s'il existe un moyen de s différencier un simple click d'un double. [ par bibe ] Bonjour à tous.J'ai un ptit prob avec le nombre de click.je voudrais differencier un simple click d'un double avec getClickCount(), et je m'apercois q NetBeans [ par LordBob ] Bonjour,voila comme certain le savent, je suis en train de me mettre au JAVA, alors j'utilise NetBeans, comme l'indique le titre de mon message... Ma


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,310 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales