Défi de programmation Java: l'ajout d'une interface graphique pour le programme de tic-tac-toe

Dans Programmation Java Défi: Un Tic-Tac-Toe Jeu Simple vous avez été mis au défi d'écrire un programme en mode console qui joue le simple jeu de Tic-Tac-Toe. Le défi de programmation Java est ici d'utiliser Swing ajouter une interface utilisateur graphique (GUI) pour le programme. L'interface graphique devrait ressembler à celui représenté ici.

L'interface utilisateur pour un programme Tic-Tac-Toe.
L'interface utilisateur pour un programme Tic-Tac-Toe.




Le jeu est simple. Le joueur humain joue d'abord en cliquant sur un des carrés. Le carré cliqué par l'homme affiche un grand X. Après les jeux humains, le programme détermine si l'homme a gagné ou forcé un tirage au sort. Si oui, un message est affiché, le conseil est remis à zéro, et une nouvelle partie commence. Sinon, l'ordinateur choisit un mouvement et marque sa place avec un grand O.

Le programme détermine ensuite si l'ordinateur a gagné la partie. Si oui, le programme affiche un message, réinitialise le conseil, et commence un nouveau jeu. Sinon, le joueur humain joue à nouveau. Cela continue jusqu'à ce qu'un joueur gagne ou tous les carrés sont remplis.

Votre programme doit utiliser le même TicTacToeBoard classe que vous créez pour Java Défi de programmation: Ajout de la classe à l'Tic-Tac-Toe programme simple. En d'autres termes, il doit mettre en oeuvre les mêmes méthodes exactes. Pour votre commodité, ces méthodes sont répétées dans le tableau suivant.

La classe TicTacToeBoard
ConstructeurDescription
TicTacToeBoardCrée un nouveau TicTacToeBoard avec toutes les cases vides.
MéthodeDescription
void reset ()Réinitialise le statut de chaque carré à vide.
annuler playat (carré String, lecteur int)Marque la place indiquée (A1, A2, A3, B1, B2, B3, C1, C2, ou C3) Pour le joueur spécifié (1 pour X, 2 O). Lance IllegalArgumentException si carré ne fait pas partie des valeurs admissibles, joueur est pas 1 ou 2, ou sur la place spécifiée est pas vide.
int isGameOver ()Détermine si le jeu est terminé. Retourne 0 si le jeu est pas fini, 1 si X a gagné la partie, 2 si O a gagné le jeu, et 3 si le jeu est un match nul. Le jeu se terminant conditions sont les suivantes:
1: Si une ligne, une colonne ou diagonale contient tous les X.
2: Si une ligne, une colonne ou diagonale contient toutes les O.
3: Si il n'y a pas des cases vides et ni X ni O a gagné.
int getNextMove ()Renvoie un entier représentant le prochain mouvement de l'adversaire d'ordinateur. Cette méthode devrait faire un effort rudimentaire pour sélectionner un bon mouvement, selon la stratégie suivante:
* Si le centre (place B2) Est vide, jouer le carré central.
* Si le centre ne soit pas vide, mais aucun des quatre coins carrés ( A1, A3, C1, ou C3) Sont vides, jouer l'un des coins (il n'a pas d'importance).
* Si le centre est pas vide et pas de coins sont vides, jouer l'un des bords (carrés A2, B1, B3, ou C2).
String toString ()Retourne une chaîne qui représente l'état actuel de la carte. La chaîne comprend des caractères de nouvelle ligne pour afficher les lignes ainsi que les lignes de séparation sur les lignes de la console séparées, comme dans cet exemple:
O | | O
---| --- | ---
| X |
---| --- | ---
| X |

Vous trouverez la solution à ce défi sur le Téléchargements onglet du Java All-in-One For Dummies, 4ème page de produits d'édition.

Bon chance!


» » » » Défi de programmation Java: l'ajout d'une interface graphique pour le programme de tic-tac-toe