(); static int Vermutungen = 0; statische String secretword ;
public static int main ( String [] args) { secretword = askForWord (); while ( playingGame ) { printBodyAndTriedLetters (); printWordSoFar (); getLetter (); if ( gameStatus () == 1) {System.out.println (" Sie haben gewonnen ! "); return 0; } else if ( gameStatus () == -1) {System.out.println (" Sie verlieren Geheimnis Wort war : " + secretword ) ; return 0; } System.out.println (); System.out.println (); System.out.println (); }}}
Dies legt das Spiel der Struktur und gibt Ihnen fünf Funktionen, die Sie schreiben müssen , um das Spiel zu beenden : . askForWord () , printBodyAndTriedLetters () , printWordSoFar () , getLetter () und gameStatus ()
2
schreiben Sie die askForWord Funktion . Diese Funktion ist recht einfach. Verwenden Sie die BufferedReader -Klasse, die mit Java kommt , um einen geheimen Wort von der Konsole zu bekommen, und dann ausdrucken etwa hundert Zeilen , um das Wort zu verstecken.
Public static String askForWord () { BufferedReader in = new BufferedReader (new InputStreamReader ( System.in ) ); System.out.println ( " Was ist das Geheimnis Wort :"); String word = in.readLine () toLowerCase (); for (int x = 0; x < 100; x + +. ) {System.out.println (); } return (word) ;} (siehe Referenzen 1 )
3
schreiben Sie die printBodyAndTriedLetters ()-Funktion . Dafür wirst du zum Ausdrucken der gehängt Körperteile von der Anzahl der Vermutungen der Spieler so weit hatte basierend , und drucken Sie alle Briefe, die sie versucht hat .
Public static void printBodyAndTriedLetters () { . wenn, //Wenn Null setzt , keiner von ihnen wertet als wahr //Wenn zwei, dann sowohl die erste und die zweite wird als true.if ( errät > = 1) System.out.println ( "HEAD" ) zu bewerten ( errät > = 2) System.out.println ( "body") ; if ( errät > = 3) System.out.println ( " Linker Arm "); if ( errät > = 4) System.out . print (" RIGHT ARM "); if ( errät > = 5) System.out.println ( " linkes Bein "); if ( errät > = 6) System.out.println ( " Rechtes Bein ");
//Sie wollen, dass die Buchstaben in alphabetischer order.Collections.sort ( triedLetters ) gedruckt ; for ( String Brief : triedLetters ) { System.out.println ( Brief + " ");} System.out.println ( ) ;}
4
schreiben printWordSoFar (). Sie wollen jeden Buchstaben im Wort mit den Buchstaben versucht vergleichen und drucken Sie diese Buchstaben passend . Wenn keine Übereinstimmung gefunden wird , wollen Sie einen Unterstrich ( "_") Printwerbung
public static void printWordSoFar () { for (int x = 0; x < secretWord.length (); x + +). { String letter = secretWord.substring (x); boolean gefunden = false; for ( String t : triedLetters ) {if ( letter.startsWith (t)) { System.out.println (t); gefunden = true;} } if ( ! found) System.out.println ("_" );}}
5
schreiben getLetter (). Dies ist eigentlich einfacher als es scheint. Der Brief wird von gameStatus getestet werden , so dass alles, was Sie hier tun müssen, ist die Wiederverwendung der Code aus Schritt 2, um einen Brief vom Benutzer abgerufen werden.
6
schreiben gameStatus (). Um dies zu tun , verwenden Sie wieder den Code in printWordSoFar () zu testen, ob ein Brief existiert. Nur müssen Sie es in einen kleinen Weg ändern: um zu testen , ob die Schleife wurde in jeder Iteration erfolgreich. Das folgende funktioniert:
public static void gameStatus () { boolean gelöst = true; for (int x = 0; x < secretWord.length (); x + + ) {String letter = secretWord.substring ( x ); boolean gefunden = false; zu ! (String t : triedLetters ) {if ( letter.startsWith (t)) { gefunden = true;} } if ( gefunden) gelöst = false; } //Wenn gelöst , gib 1 /. /wenn nicht gelöst und das Spiel vorbei , -1 zurück //Wenn keine der oben genannten , Rückkehr 0.if ( gelöst ) return 1; . else if ( ! gelöst && Vermutungen > = 6) return -1 ; else return 0; }