Zahlenraten 2005 0000-00-00 00:00:00 // zum cheaten NEO als name eingeben hf import java.util.*; // Random Klassse einfuegen public class Zahlenraten3 { public static void main(String args[]) { int max = 12; // maximale Versuche int best = max + 1; // beste Versuchsanzahl, unsinnig aber egal String best_name = "COMPUTER"; // siehe oben int gc = 0; // zeahlt die gespielten Spiele // gibt Aufgabenstellung aus System.out.println(" z a h l e n r a t e n".toUpperCase()); System.out.println("Aufgabe: Finde die gesuchte Zahl zwischen 1 und 100.\n"); do { // alles ist in einer do-Scheife, damit man neue Spiele starten kann gc++; // Spielzaehlen um 1 erhoehen Random zufall = new Random(); // Zufallsgenerator starten int zahl = zufall.nextInt(100)+1; // Zufallszahl erstellen int i = 0; // zeahlt Versuche boolean handle = true; // boolean-Variable zum abbrechen String name = Ea.eingabeString("Gib bitte deinen Namen ein: ").toUpperCase(); // hier kann man den Namen eingeben if(name.equals("")) { // ueberpruefen, ob Name eingegeben System.out.println("Fehler: Du hast keinen Namen eingegeben."); name = Ea.eingabeString("Gib bitte deinen Namen ein: ").toUpperCase(); } System.out.println("Es wurde eine neue Zufallszahl generiert. Spielstart!!"); // Infotext - es geht los // Ausgabe der gesuchten zahl - CHEAT-MODUS ;-) if(name.equals("NEO")) { System.out.println("Gesuchte Zahl: "+zahl); name = Ea.eingabeString("Gib bitte deinen Namen ein: ").toUpperCase(); // Name nochmal eingeben } while(handle) { // Spielschleife int eingabe = (int)Ea.eingabeDouble("Bitte gib eine Zahl ein: "); // Zahlverlangen if(eingabe >= 1 && eingabe <= 100) { // ueberpruefen, ob zahl zwischen 1-100 liegt i++; // Versuchszeahler erhoehen w // User-Eingabe groesser als gesuchte zahl if(eingabe > zahl) { System.out.println("Deine Eingabe ("+eingabe+") war zu gross."); } // User-Eingabe kleiner als gesuchte zahl if(eingabe < zahl) { System.out.println("Deine Eingabe ("+eingabe+") war zu klein."); } System.out.println(); // User-Eingabe gleich gesuchte zahl if(eingabe == zahl) { if(i == 1) { // irgend ne tolle Endlosschleife, wenn man es mit einem Versuch packt while(true) { System.out.println("THE MATRIX HAS U"); } } System.out.println("Richtig. Die gesuchte Zahl war "+zahl+". "+i+" Versuch(e)"); // Infoausgabe handle = false; // WHILE-Schleife abbrechen } // Hieer wird untersucht, ob dies das beste Spiel war if(!handle) { if(best > i) { System.out.println("Sehr gut, "+name+"; mit "+i+" Versuchen war dies das beste Spiel!!"); best_name = name; best = i; } else { System.out.println("Dies war leider nicht das beste Spiel. Du haettest "+(best-1)+" oder weniger Versuche gebraucht um "+best_name+" zu ueberbieten. Versuchs nochmal."); } } // wegen den ganz schlechten :P if(i > max) { System.out.println("Du hast mehr als "+max+" Versuche gebraucht.\nDas Spiel ist beendet. Die gesuchte Zahl war \""+zahl+"\"."); handle = false; } } else { System.out.println("Es sind nur Zahlen zwischen 1 und 100 erlaubt."); } } } while(Ea.jaNein("\nNochmal spielen?")); // Frage, ob neues Spiel gestartet werden soll // Abspann System.out.println("\nGAME OVER\n"); // Ausgabe: GAME OVER System.out.println("Bestes Spiel: "+best+" Versuche von "+best_name); // Ausgabe: bestes Spiel System.out.println(gc+" Spiel(e)"); // Ausgabe: Anzahl der gespielten Spiele } }