Backgammon

Soyez le premier à donner votre avis sur cette source.

Vue 8 016 fois - Téléchargée 925 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

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
305
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.
Messages postés
5
Date d'inscription
samedi 25 novembre 2006
Statut
Membre
Dernière intervention
28 juillet 2010

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.