2016-11-01 6 views
-4

Ich habe alle Methoden richtig funktioniert, aber ich bin verwirrt darüber, wie ich die Anzahl der verbleibenden Raten drucken und Hangman in meiner Hauptmethode drucken. Ich brauche die aktuelle Hangman zu drucken, indem printHangman Aufruf aber nicht sicher, wie es zu nennen ohne Vermutung ZählerCall-Methoden für Hangman

public class Hangman2 
{ 

public static void main(String[] args) 
{ 
    System.out.println("Welcome to HangMan Player 1, Please enter a word. Player 2, Please close your eyes: "); 
    Scanner stdin = new Scanner(System.in); 

    String secretWord = stdin.next(); 

    for (int x = 1; x <= 100; x++) 
    { 
     System.out.println(" "); 
    } 

    System.out.println("Clearing Screen"); 

    System.out.println("The current partial word is: "); 
    String initialWord = createPartialWord(secretWord); 
    System.out.println(""); 
    System.out.println("The current hangman picture is: "); 




} 


    public static String createPartialWord(String secretWord) 
    { 
     String newsecretWord = ""; 
     int wordLength = secretWord.length(); 

     while (wordLength > 0) 
      { 
       newsecretWord = newsecretWord + "-"; 
       System.out.print("-"); 
       wordLength--; 
      } 
     return newsecretWord; 
    } 

    public static String replaceChar(String word, char c, int i) 
    { 

     if(0 < i && i < word.length()) 
     { 
      return word.substring(0, i) + c + word.substring(i + 1); 
     } 

     return word; 
    } 

    public static String updatePartialWord(String partial, String secret, char c) 
    { 
     for (int i = 0; i <= secret.length(); i++) 
     { 
      if (secret.charAt(i) == c) 
      { 

       return replaceChar(partial, c , i); 
      } 

     } 
     return partial; 


    } 

    public static void printHangman(int guessLeft) 
    { 
     String HEAD = " "; 
     String BODY = " "; 
     String LEGS = " "; 
     String LEFTARM = " "; 
     String RIGHTARM = " "; 

     System.out.println("_____"); 
     System.out.println("| |"); 

     if (guessLeft < 6) 
     { 
      HEAD = "()"; 
     } 

     System.out.println("| " + HEAD); 
     if (guessLeft < 5) 
     { 
      BODY = "||"; 
     } 
     if (guessLeft < 4) 
     { 
      LEFTARM = "\\"; 
     } 
     if (guessLeft < 3) 
     { 
      RIGHTARM = "/"; 
     } 

     System.out.println("| " + LEFTARM + BODY + RIGHTARM); 
     if (guessLeft < 2) 
     { 
      LEGS = "/"; 
     } 
     if (guessLeft < 1) 
     { 
      LEGS += "\\"; 
     } 
     System.out.println("| " + LEGS); 
     System.out.println("|_____\n\n\n\n"); 
    } 


} 
+0

'" Ich habe alle Methoden richtig funktioniert "' - Wie können Sie wissen, dass, wenn Sie nicht in der Lage waren, tatsächlich die Methoden * aufzurufen *? '' nicht sicher, wie man es mit keinem Ratenzähler anruft. '' - So wie Sie jede Methode in Java aufrufen. Wenn die Methode ein 'int' benötigt, müssen Sie ihr ein' int' geben. Es klingt, als ob dein Spiel nachverfolgen muss, wie viele Vermutungen der Nutzer versucht hat (und möglicherweise andere Informationen über das Spiel, das gespielt wird). – David

+0

Die anderen Methoden funktionieren, weil ich sie angerufen habe, ich konnte 'printHangman' nicht nennen, weiß aber, dass es funktioniert, weil der Code vom Professor zur Verfügung gestellt wurde. Und ja, wie verfolge ich Vermutungen in 'main()'? – MikeG

+0

Ich habe tatsächlich herausgefunden, wie man es nennt ... brauche einfach einen Raten-Tracker – MikeG

Antwort

0

Die Menschen sind nicht Ihre Aufgabe in diesem Forum gehen für Sie zu schreiben und Sie müssen in der Regel ein bisschen mehr versuchen, das sag einfach "Ich stecke fest." Davon abgesehen, ist hier eine grobe Skizze vorbei an diesem Punkt zu gelangen:

public static void main(String[] args) 
    { 
     System.out.println("Welcome to HangMan Player 1, Please enter a word. Player 2, Please close your eyes: "); 
     Scanner stdin = new Scanner(System.in); 

     String secretWord = stdin.next(); 

     int guessesLeft = /* Number of guesses at the start */; 
     String partialWord = createPartialWord(secretWord); 

     while (/* You have guesses remaining */) 
     { 
      for (int x = 1; x <= 100; x++) 
      { 
       System.out.println(" "); 
      } 

      System.out.println("Clearing Screen"); 

      System.out.println("The current partial word is: "); 
      System.out.println(partialWord); 
      System.out.println("The current hangman picture is: "); 

      printHangman(guessesLeft); 

      // TODO: Obtain the next letter from the user 
      // TODO: Update the partial word with the letter 
      // TODO: Make it such that you have one less guess remaining 
     } 
    } 

Auch bin ich ziemlich sicher, dass createPartialWord keinen Druck Aussage im Innern haben soll.

Verwandte Themen