Backgammon

5/5 (2 avis)

Vue 8 677 fois - Téléchargée 998 fois

Description

Développement du jeu BackGammon en interface graphique Swing.

Fonctionnalités du jeu :
- Jeu à deux
- Jeu contre ordinateur (algorithme random)
- Gestion des flèches, barres, dehors, videau.
- Gestion sauvegarde/chargement.
- Fonction annuler.
- Gestion des profils (à dév.)

Développement :
- Code source commenté + JavaDoc (à générer) !
- Gestion log d'évènements
- Modèle/Vu séparé

Source / Exemple :


/**

  • Lance les deux dés de façon pseudo-aléatoire.
  • /
public void lancerDeuxDes () { super.lancerDeuxDes(); Log.log.info("Lancer : "+_coups); updateDeplacements(); } /**
  • Cette méthode permet de mettre à jour les déplacements en fonction des
  • coups disponibles. Exemple : Coups 5 et 3 Déplacements : [3], [5], [3,
  • 5].
  • /
public void updateDeplacements () { _deplacements.clear(); if ( nombreCoupsLibre() >= 1 ) { _deplacements.add(new ArrayList<Integer>()); _deplacements.get(_deplacements.size() - 1).add(getCoupLibre(0)); } if ( nombreCoupsLibre() >= 2 ) { if ( estDouble() == false ) { _deplacements.add(new ArrayList<Integer>()); _deplacements.get(_deplacements.size() - 1) .add(getCoupLibre(1)); } _deplacements.add(new ArrayList<Integer>()); _deplacements.get(_deplacements.size() - 1).add(getCoupLibre(0)); _deplacements.get(_deplacements.size() - 1).add(getCoupLibre(1)); } if ( nombreCoupsLibre() >= 3 ) { _deplacements.add(new ArrayList<Integer>()); _deplacements.get(_deplacements.size() - 1).add(getCoupLibre(0)); _deplacements.get(_deplacements.size() - 1).add(getCoupLibre(1)); _deplacements.get(_deplacements.size() - 1).add(getCoupLibre(2)); } if ( nombreCoupsLibre() >= 4 ) { _deplacements.add(new ArrayList<Integer>()); _deplacements.get(_deplacements.size() - 1).add(getCoupLibre(0)); _deplacements.get(_deplacements.size() - 1).add(getCoupLibre(1)); _deplacements.get(_deplacements.size() - 1).add(getCoupLibre(2)); _deplacements.get(_deplacements.size() - 1).add(getCoupLibre(3)); } Log.log.info("Mise à jour des déplacements : "+_deplacements); }

Conclusion :


Evolutions possibles :
- Algo ordinateur
- Gestion des profils
- détermination du premier à jouer
- Fonctionnalité réseau (+ chat)
- Fonction replay d'une partie
- ...

Le zip contient le projet eclipse (en zip) donc à importer avec existing project into your workspace ...

Have fun!!

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 369
29 sept. 2010 à 11:33
Esthétiquement, c'est très bien.

Quelques problèmes pas très graves : Tes définitions de pions couleur et pions rouges ne sont pas très heureuses, tu peux utiliser des enum qui aurait été plus adaptés.

Un package controleur pour gérer ce que tu as géré dans le métier serait plus propre.
diablosephiroth Messages postés 5 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 28 juillet 2010
28 juil. 2010 à 00:03
Wahou il est pas mal ton Backgammon !
C'est bien commenté, clair et efficace bravo.
J'pense que le collègue de travail qui ta aidé à le faire devait être très bon xD !!

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.