Backgammon

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

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.