Advertisement
wildinfo

WortRatespiel#byhoenegger

Nov 24th, 2014
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.72 KB | None | 0 0
  1. public class WortRatespiel
  2. {
  3.  
  4.     /**
  5.      * @param args
  6.      */
  7.     public static void main(String[] args) {
  8.         // TODO Auto-generated method stub
  9.        
  10.        
  11.        
  12.         System.out.println("Wortratespiel\n=============");
  13.         char frage = 'j';//speichert Antwort auf frage, ob nochmal gespielt werden soll
  14.         do{//solange bis Antwort ungleich 'n'
  15.             String geswort = TestScannerErweitert.readString("Gesuchtes Wort: ");
  16.             geswort = geswort.toUpperCase();//wandelt Wort in grossbuchstaben um
  17.             String ihrwort = "";
  18.             //es werden jeweils die Punkte entsprechend der Laenge
  19.             //in den String wortAus gespeichert
  20.             for(int i=0; i<geswort.length(); i++)
  21.                 ihrwort += ".";
  22.             int durchlauf = 0;//zaehlt die durchlaufe
  23.             while(!ihrwort.equals(geswort)){//solange das Zeichen nicht mit dem eingegebenen Wort uebereinstimmt
  24.                 System.out.print("Ihr Wort: ");
  25.                 System.out.println(ihrwort);//gibt zeichen aus
  26.                 String buchstabe_wort = TestScannerErweitert.readString("Buchstabe/Wort: ");   
  27.                 buchstabe_wort = buchstabe_wort.toUpperCase();//wandelt den Buchstaben in Grossbuchstaben um
  28.                 durchlauf++;//erhoeht den durchlauf
  29.                 if(buchstabe_wort.length() == 1){//ueberprueft, ob der eingegebene Buchstabe min ein Zeichen lang ist
  30.                     char a = buchstabe_wort.charAt(0);//speichert den Buchstaben in einen char
  31.                     for(int i=0; i<geswort.length(); i++){
  32.                         if(geswort.charAt(i) == a){//ueberprueft, ob der eingegebene Buchstabe
  33.                             //mit den einzelnen Zeichen des Wortes uebereinstimmt
  34.                             ihrwort = replaceAt(i, a, ihrwort);//ruft methode hervor, die Punkte durch Buchstaben ersetzt
  35.                         }//end if (wortEin.charAt(i) == a)
  36.                     }//end for
  37.                 }//end if (ein.length() == 1)
  38.                 else
  39.                     if(buchstabe_wort.equals(geswort)){
  40.                         ihrwort = geswort;
  41.                     }//end if
  42.                 else
  43.                 System.out.println("Das eingegebene Wort ist nicht das gesuchte!");
  44.             }//end while
  45.            
  46.             System.out.println(geswort);
  47.             System.out.println("Sie haben in "+durchlauf+" Schritten das Wort erraten!");
  48.             frage = TestScannerErweitert.readChar("Nochmal (j/n)");
  49.         }while(frage != 'n');
  50.        
  51.  
  52.     }
  53.    
  54.     /**
  55.      *  Diese Methode tauscht die Zeichen des Strings ihrwort mit dem richtigen Buchstaben an der richtigen Stelle aus.
  56.      *  @param i Stelle an der das char ausgetauscht werden soll
  57.      *  @param a char welches an die angegebene Stelle geschrieben werden soll
  58.      *  @param s String bei welchem der Austausch stattfinden soll
  59.      *  @return richtiger Buchstabe an richtiger Stelle. An den uebrigen Stellen wird der Rest des Strings zurueckgeliefert
  60.      */
  61.    
  62.     public static String replaceAt(int i, char a, String s) {
  63.         String ret = "";
  64.         for(int j=0; j<s.length(); j++){
  65.             if(i==j)
  66.                 ret += a;
  67.             else
  68.                 ret += s.charAt(j);
  69.         }//end for
  70.         return ret;
  71.         }
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement