Accueil Finances personnelles Défi de programmation java: un jeu simple de Tic-Tac-Toe - dummies

Défi de programmation java: un jeu simple de Tic-Tac-Toe - dummies

Vidéo: Programmation de jeux multijoueur en réseau : Je me lance un défi 2025

Vidéo: Programmation de jeux multijoueur en réseau : Je me lance un défi 2025
Anonim

Votre mission, si vous décidez de l'accepter, est de créer un programme Java capable de jouer à un jeu de Tic-Tac-Toe avec l'utilisateur.

Comme vous le savez probablement, Tic-Tac-Toe est un jeu simple généralement joué avec du papier et un crayon. D'abord, vous faites une simple grille de 3 x 3 sur le papier. Ensuite, deux joueurs alternent les tours en marquant X et Os dans les espaces vides de la grille. Le premier joueur qui fait trois de ses marques dans une rangée horizontale, verticale ou diagonale gagne. Si tous les espaces de la grille sont remplis avant qu'un joueur n'en marque trois d'affilée, le jeu est un match nul.

Voici les règles et les instructions pour ce défi:

  1. L'ordinateur joue contre l'humain. L'humain se déplace d'abord et est X. L'ordinateur est O.

  2. Le programme devrait commencer par afficher un court message de bienvenue, puis devrait inviter le joueur à effectuer son premier mouvement. Par exemple:

    Bienvenue sur Tic-Tac-Toe. Veuillez entrer votre premier coup:
    
  3. Pour désigner les carrés de la grille, utilisez les lettres A, B et C pour les colonnes et les chiffres 1, 2 et 3 pour les rangées, comme ceci:

    A1 B1 C1 A2 B2 C2 A3 B3 C3
    

    Ainsi, pour placer un X dans le carré en haut à gauche, le joueur humain entrerait le texte A1 quand le programme invitait le joueur à bouge toi.

    Une fois que l'humain a effectué un mouvement, le programme devrait afficher l'état actuel de la carte sur la console.

  4. Utilisez X pour marquer les lectures de l'humain et O pour marquer les lectures de l'ordinateur. Utilisez les caractères de barre verticale (trouvés sur le clavier avec le caractère barre oblique inverse, juste au-dessus de la touche Entrée) et les traits d'union pour dessiner le tableau dans une grille simple.

    Par exemple, si l'utilisateur a entré A1 comme premier mouvement, le programme affichera ce qui suit:

    X | | --- | --- | --- | | --- | --- | --- | |
    
  5. Après le déplacement de l'humain, le programme détermine son déplacement, l'annonce à l'utilisateur, affiche un tableau mis à jour, puis invite le joueur à se déplacer.

    Par exemple, vous pourriez voir ceci:

    Je jouerai A2: X | O | --- | --- | --- | | --- | --- | --- | | Veuillez entrer votre prochain coup:
    
  6. Le jeu continue jusqu'à ce qu'un joueur ait marqué trois fois de suite ou que tous les carrés aient été remplis sans gagnant. Votre programme doit être capable de déterminer si un joueur a marqué trois points de suite et a gagné la partie. (Ceci est la partie la plus difficile de ce défi de programmation.)

  7. Quand le jeu est terminé, le programme affiche un message indiquant le résultat du jeu: "Vous me battez! "Si le joueur humain gagne," je vous ai battu! "Si le joueur de l'ordinateur gagne, ou" C'est un tirage au sort! "Si le jeu se termine par un match nul.

  8. Les joueurs humains et informatiques ne peuvent jouer que dans les cases qui ne sont pas déjà occupées par l'un ou l'autre joueur.

  9. Le programme se termine lorsque le jeu est gagné par l'un ou l'autre joueur ou le jeu est un match nul. Si vous voulez rejouer, vous devez réexécuter le programme.

Notez que vous êtes libre d'utiliser n'importe quelle méthode pour déterminer comment l'ordinateur doit effectuer ses déplacements. Je vous suggère d'avoir toujours l'ordinateur dans le premier carré vide. Ce n'est évidemment pas la meilleure façon de jouer à Tic-Tac-Toe, et vous n'aurez aucun mal à battre l'ordinateur à chaque fois que vous jouerez. Mais choisir cette stratégie de jeu simple vous permet de vous concentrer sur d'autres aspects de la programmation, comme comment représenter en interne la grille et comment déterminer quand un joueur a gagné la partie ou quand le jeu s'est terminé par un match nul.

(Dans "Java Programming Challenge: Ajout de tableaux au programme Simple Tic-Tac-Toe", il vous est demandé de trouver une meilleure stratégie pour le programme afin de déterminer ses jeux.)

Voici un exemple de l'affichage de la console pour un jeu complet:

Bienvenue sur Tic-Tac-Toe. Veuillez entrer votre premier coup: A1 X | | --- | --- | --- | | --- | --- | --- | | Je vais jouer à A2: X | O | --- | --- | --- | | --- | --- | --- | | Veuillez entrer votre prochain mouvement: B1 X | O | --- | --- | --- X | | --- | --- | --- | | Je vais jouer à A3: X | O | O --- | --- | --- X | | --- | --- | --- | | Veuillez entrer votre prochain mouvement: C 1 X | O | O --- | --- | --- X | | --- | --- | --- X | | Tu me bats!

Voici quelques conseils pour vous aider à démarrer:

  • La meilleure façon de représenter la grille est d'utiliser un tableau. Pour l'instant, utilisez neuf variables, appelées A1, A2, A3, B1, B2, B3, C1, C2 et C3.

  • Si vous utilisez le type int pour les variables de la grille, vous pouvez utiliser 1 pour indiquer qu'un carré contient un X et 2 pour indiquer qu'un carré contient un O.

  • Huit rangées possibles peuvent mener à un gain. Un joueur gagne si l'une des combinaisons de cases suivantes est 1 (pour X) ou 2 (pour O):

    A1 - A2 - A3 A1 - B1 - C1 A1 - B2 - C3 B1 - B2 - B3 A2 - B2 - C2 A3 - B2 - C1 C1 - C2 - C3 A3 - B3 - C3
    
  • Il y a deux façons de déterminer si le jeu est un match nul. La première consiste à vérifier tous les neuf carrés: Si aucun des carrés n'est vide et qu'aucun joueur n'a gagné, le jeu est un match nul. La deuxième consiste à compter les coups: Si neuf coups ont été faits et qu'aucun joueur n'a gagné, le match est nul.

Vous pouvez trouver une solution à ce problème de programmation dans l'onglet Téléchargements de la page du produit Java Tout-en-un pour les nuls, 4e édition.

Bonne chance!

Défi de programmation java: un jeu simple de Tic-Tac-Toe - dummies

Le choix des éditeurs

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Pour les seniors: Comment travailler avec Windows dans Microsoft Windows - les nuls

Windows, avec un W majuscule, tire son nom de sa caractéristique principale: Windows, avec un w minuscule. Se familiariser avec Windows signifie apprendre à ouvrir, fermer, redimensionner, déplacer et basculer entre les fenêtres, ce qui est la clé pour jongler avec succès avec plusieurs activités. Chaque programme que vous exécutez occupe sa propre fenêtre. Une fenêtre peut occuper une partie de ...

Comment accepter ou rejeter les cookies dans Safari - dummies

Comment accepter ou rejeter les cookies dans Safari - dummies

Un cookie est un petit fichier qu'un site Web enregistre automatiquement sur le disque dur de votre Mac. Il contient des informations, telles que vos préférences ou votre date de naissance, que le site utilisera lors de vos prochaines visites. Dans Mac OS X Snow Leopard, Safari vous permet de choisir d'accepter ou non tous les cookies ...

Le choix des éditeurs

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Construire des boîtes et des lignes Bézier dans QuarkXPress - des nuls

Pour créer une boîte ou une ligne dans QuarkXPress plus complexe qu'un simple rectangle, ovale ou starburst, vous entrez dans le domaine du chemin de Bézier. Si vous avez utilisé l'outil Plume dans Adobe Illustrator ou Photoshop, vous comprenez déjà les chemins de Bézier. Il faut un peu de pratique et un esprit détendu ...

Création d'un rapport avec Crystal Reports 10 - témoins

Création d'un rapport avec Crystal Reports 10 - témoins

Lorsque vous démarrez Crystal Reports 10, généralement l'une des trois choses suivantes: créer un rapport, modifier un rapport ou exécuter un rapport sur les données de votre base de données. Les rapports prennent des données à partir d'une base de données, les traitent, les formatent et les affichent ensuite sur une imprimante, un écran d'ordinateur ou un site Web. Crystal Reports ...

Traitant des commentaires Javadoc dans Eclipse - mannequins

Traitant des commentaires Javadoc dans Eclipse - mannequins

Lorsque vous utilisez Eclipse pour écrire du code Java, n'oubliez pas de éditez les commentaires de Javadoc (les choses qui commencent par / **). Vous pouvez ajouter des informations utiles lorsque vous modifiez les commentaires Javadoc et lorsque vous les modifiez, l'aide au code d'Eclipse propose des suggestions. N'oubliez pas ces astuces lorsque vous modifiez vos commentaires Javadoc: Ajouter un commentaire Javadoc: ...

Le choix des éditeurs

Les connexions cachées sur le Nikon D5600 - les nuls

Les connexions cachées sur le Nikon D5600 - les nuls

Ouvrent les couvercles sur les côtés gauche et droit du Nikon D5600 caméra, et vous verrez plusieurs ports de connexions cachées. Les ports de connexion suivants sont indiqués sur cette image: Terminal d'accessoires: ce terminal accepte les accessoires suivants: câble déclencheur à distance Nikon MC-DC2; Télécommandes sans fil WR-1 et WR-R10; et les unités GPS GP-1 / GP-1A. I ...

Les connexions cachées sur votre Nikon D5200 - les nuls

Les connexions cachées sur votre Nikon D5200 - les nuls

ÉParpillés sur l'extérieur de votre appareil photo sont nombreuses commandes que vous utilisez pour changer d'image -prend des paramètres, revoir et modifier vos photos, et effectuer diverses autres opérations. Caché sous le couvercle sur le côté gauche de la caméra, vous trouverez les quatre ports de connexion suivants, étiquetés dans cette figure: Borne accessoire: Vous pouvez brancher le Nikon en option ...

Des boutons et autres commandes du Nikon D7500 - mannequins

Des boutons et autres commandes du Nikon D7500 - mannequins

C'est génial d'avoir une carte pour le boutons et commandes sur votre appareil photo, mais ce n'est pas beaucoup d'aide si vous ne pouvez pas vous rappeler quel bouton appuyer sur quand (et pourquoi). Alors, voici un aperçu des fonctions des contrôles les plus importants. (Certains contrôles ont des fonctions supplémentaires pendant certaines opérations, mais la table ...