Comment créer un jeu du pendu avec Java

Tout le monde se souvient de jouer le jeu de mot-estimation Pendu comme un enfant. Un joueur choisit secrètement un mot. L'autre joueur doit deviner les lettres qui peuvent être dans le mot. Si elle est droite, les lettres sont ajoutés. Si elle est fausse, une autre partie du corps pour le bourreau est aspiré. Ce tutoriel va vous apprendre à créer un jeu du pendu simple qui peut être joué par deux personnes utilisant le langage de programmation Java.

Choses que vous devez

  • Ordinateur
  • Java Runtime Environment
  • Java Development Kit
  • éditeur de texte ou IDE Java

Instructions

  1. Construire la boucle principale du jeu. Créer une classe appelée Main, et écrire la fonction principale suivante.

    Classe principale {
    &# 9-statique playingGame booléen = true
    GO
    &# 9-statique ArrayList triedLetters = new ArrayList() -&N ° 9-statique suppositions int = 0
    GO
    &# 9-statique cordes motsecret
    GO
    &# 9-
    &# 9-publiques statiques int main (String [] args) {
    &# 9-&# 9-motsecret = askForWord ()
    GO
    &# 9-&# 9-tout (playingGame) {
    &# 9-&# 9-&# 9-printBodyAndTriedLetters ()
    GO
    &# 9-&# 9-&# 9-printWordSoFar ()
    GO
    &# 9-&# 9-&# 9-getLetter ()
    GO
    &# 9-&# 9-&# 9-si (gameStatus () == 1) {
    &# 9-&# 9-&# 9-&# 9-System.out.println ("Tu as gagné!")
    GO
    &# 9-&# 9-&# 9-&# 9-retour 0
    GO
    &# 9-&# 9-&# 9-} else if (gameStatus () == -1) {
    &# 9-&# 9-&# 9-&# 9-System.out.println ("Tu as perdu! Mot secret est: " + Motsecret)
    GO
    &# 9-&# 9-&# 9-&# 9-retour 0
    GO
    &# 9-&# 9-&# 9-}
    &# 9-&# 9-&# 9-System.out.println ()
    GO
    &# 9-&# 9-&# 9-System.out.println ()
    GO
    &# 9-&# 9-&# 9-System.out.println ()
    GO
    &# 9-&# 9-}
    &# 9-}
    }

    Ce énonce la structure du jeu et vous donne cinq fonctions dont vous avez besoin d'écrire pour terminer le jeu: askForWord (), printBodyAndTriedLetters (), printWordSoFar (), getLetter () et gameStatus ().

  2. Ecrire la fonction askForWord. Cette fonction sera assez simple. Utilisez la classe BufferedReader qui vient avec Java pour obtenir un mot secret de la console, puis imprimer une centaine de lignes pour cacher le mot.




    public static String askForWord () {
    &# 9-&# 9-BufferedReader dans = new BufferedReader (nouvelle InputStreamReader (System.in))
    GO
    &# 9-&# 9-System.out.print ("Quel est le mot secret: ")
    GO
    &# 9-&# 9-String = mot in.readLine (). ToLowerCase ()
    GO
    &# 9-&# 9-for (int x = 0 à x lt; 100- x ++) {
    &# 9-&# 9-&# 9-System.out.println ()
    GO
    &# 9-&# 9-}
    &# 9-&# 9-retour (mot)
    GO
    }
    (Voir les références 1)

  3. Ecrire les printBodyAndTriedLetters function (). Pour cela, vous allez imprimer sur les parties du corps pendus sur la base du nombre d'essais le joueur a eu jusqu'ici, et d'imprimer toutes les lettres qu'elle a essayé.

    printBodyAndTriedLetters public static void () {
    &# 9 - // Si zéro suppositions, aucune de ces évalueront aussi vrai.
    &# 9 - // Si deux, puis à la fois le premier et le deuxième évaluera aussi vrai.

    &# 9 (si suppositions gt; = 1) System.out.print ("HEAD ")
    GO
    &# 9 (si suppositions gt; = 2) System.out.print ("CORPS ")
    GO
    &# 9 (si suppositions gt; = 3) System.out.print ("BRAS GAUCHE ")
    GO
    &# 9 (si suppositions gt; = 4) System.out.print ("BRAS DROIT ")
    GO
    &# 9 (si suppositions gt; = 5) System.out.print ("LA JAMBE GAUCHE ")
    GO
    &# 9 (si suppositions gt; = 6) System.out.print ("JAMBE DROITE ")
    GO

    &# 9 - // Vous voulez que les lettres imprimées dans l'ordre alphabétique.
    &# 9-Collections.sort (triedLetters)
    GO
    &# 9 pour (lettre de cordes: triedLetters) {
    &# 9-&# 9-System.out.print (lettre + " ")
    GO
    &# 9-}
    &# 9-System.out.println ()
    GO
    }




  4. Ecrire printWordSoFar (). Vous voulez comparer chaque lettre dans le mot avec les lettres essayées et imprimer ces lettres qui correspondent. Si aucune correspondance est trouvée, vous voulez imprimer un trait de soulignement ("_").

    public static void printWordSoFar () {
    &# 9-for (int x = 0 à x lt; secretWord.length () - x ++) {
    &# 9-&Lettre n ° 9-String = secretWord.substring (x)
    GO
    &# 9-&# 9-booléenne trouve = false
    GO
    &# 9-&# 9 pour (String t: triedLetters) {
    &# 9-&# 9-&# 9-si (letter.startsWith (t)) {
    &# 9-&# 9-&# 9-&# 9-System.out.print (t)
    GO
    &# 9-&# 9-&# 9-&# 9-found = true
    GO
    &# 9-&# 9-&# 9-}
    &# 9-&# 9-}
    &# 9-&# 9-if (! Trouvé) System.out.print ("_")
    GO
    &# 9-}
    }

  5. Ecrire getLetter (). Ceci est en fait plus simple qu'il n'y paraît. La lettre sera testé par gameStatus, donc tout ce que vous devez faire ici est de réutiliser le code de l'étape 2 pour récupérer une lettre de l'utilisateur.

  6. Ecrire gameStatus (). Pour ce faire, réutiliser le code dans printWordSoFar () pour tester si une lettre existe. Seulement vous devez changer dans un petit chemin: pour vérifier si la boucle a réussi à chaque itération. Ce qui suit fonctionnera:

    public static void gameStatus () {
    &# 9-booléenne résolu = true
    GO
    &# 9-for (int x = 0 à x lt; secretWord.length () - x ++) {
    &# 9-&Lettre n ° 9-String = secretWord.substring (x)
    GO
    &# 9-&# 9-booléenne trouve = false
    GO
    &# 9-&# 9 pour (String t: triedLetters) {
    &# 9-&# 9-&# 9-si (letter.startsWith (t)) {
    &# 9-&# 9-&# 9-&# 9-found = true
    GO
    &# 9-&# 9-&# 9-}
    &# 9-&# 9-}
    &# 9-&# 9-if (! Trouvé) résolu = false
    GO
    &# 9-}
    &# 9 - // Si résolu, retourner 1.
    &# 9 - // Si pas résolu et Game Over, retour -1.
    &# 9 - // Si aucune de ce qui précède, retourner 0.
    &# 9 si le retour (résolu) 1
    GO
    &# 9-else if (! Résolu && conjectures gt; = 6) retourne -1
    GO
    &# 9-else return 0
    GO
    }

» » » » Comment créer un jeu du pendu avec Java