Bonjour !!
Je vous présente un jeu d'échec que j'ai réalisé en JAVA, il s'agissait de mon projet synthèse de ma session d'automne en programmation objet.
J'aimerais savoir se que vous pensez de mon programme,
Le code est bien commenté et la doc est incluse,
les commentaires sont appréciés :)
merci à tous !
Commentaires
J'apprécie beaucoup ta source (j'ai mis 9/10) :). Seul regret, que tu n'aies pas précisé que cela ne se joue qu'à deux joueurs (Donc que l'Intelligence Artificielle n'a pas été fournie).
Si tu veux améliorer
-> le code : sache qu'au lieu d'utiliser une String pour les couleurs, tu peux utiliser les enumérations.
(Par exemple dans la classe piece, utilise public static enum Couleur { BLANC, NOIR }. A ce moment-là, si tu figures dans une classe ou sous-classe de Piece, utilise la syntaxe Couleur.BLANC ou Couleur.NOIR pour utiliser les valeurs, et déclare des paramètres de type Couleur. Sinon, si tu es à l'extérieur de ces classes, préfixe tout cela par "Piece." => public fct1(Piece.Couleur couleur) { couleur = Piece.Couleur.BLANC; })
-> l'interface utilisateur : sâches qu'il est possible, avec un peu de tatônements, de changer le texte et la couleur d'un Label ou JTextField, pour un laps de temps donné (au lieu de définitivement). Pour cela, utilise par exemple la méthode suivante dans ta classe FenetreJeu :
private void printDynamicMessage(final String message) {
new Thread() {
public void run() {
final int SLEEP_TIME_MILLIS = 900;
final String oldMessage = champTexte.getText();
final Color oldTextColor = champTexte.getForeground();
champTexte.setForeground(Color.RED);
champTexte.setText(message);
try {
Thread.sleep(SLEEP_TIME_MILLIS);
} catch (InterruptedException exception) {
exception.printStackTrace();
}
champTexte.setForeground(oldTextColor);
champTexte.setText(oldMessage);
}
}.start();
}
Ainsi par exemple, un appel à printDynamicMessage("Mouvement illegal !!!");, changera le contenu du JTextField en rouge et avec le texte "Mouvement Illegal !!!", et rétablira l'ancien contenu au bout de 900 millisecondes. (Si tu essaie de coder cela sans passer par un Thread, comme je l'ai fait, tu n'obtiendras pas l'effet voulu).
-> on n'a pas le droit de déplacer une pièce quand on est en échec
-> tu ne gères pas la prise en passant
-> tu ne gères pas le roque
Sinon, tu m'autorise à utiliser tes images pour un programme personnel ?
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.