Java :: Aufgabe #286 :: Lösung #4
4 Lösungen

#286
Game - Heiß oder Kalt
Anfänger - Java
von DavidDev024
- 20.04.2020 um 19:36 Uhr
Das Spiel läuft folgender Maßen ab:
- Spieler 1 denkt sich eine Zahl aus
- Spieler 2 versucht nun die Zahl zu erraten, indem er eine Zahl eingibt
- nun wird der vorherige Versuch (falls einer vorhanden) mit dem jetzigen verglichen und wärmer oder kälter ausgegeben (je nachdem ob man der geheimen Zahl von Spieler 1 näher kommt oder nicht)
-Erratet Spieler 2 die Zahl sollen die benötigten Versuche und die benötigte Zeit ausgegeben werden.
Have Fun
- Spieler 1 denkt sich eine Zahl aus
- Spieler 2 versucht nun die Zahl zu erraten, indem er eine Zahl eingibt
- nun wird der vorherige Versuch (falls einer vorhanden) mit dem jetzigen verglichen und wärmer oder kälter ausgegeben (je nachdem ob man der geheimen Zahl von Spieler 1 näher kommt oder nicht)
-Erratet Spieler 2 die Zahl sollen die benötigten Versuche und die benötigte Zeit ausgegeben werden.
Have Fun
#4

von Seb (110 Punkte)
- 31.12.2020 um 14:22 Uhr
// Hallo zusammen. Ich habe hier mit den Betrag (Abstand) der zu erratenden Zahl gerechnet.
Daher alles zum Quadrat genommen und Wurzel gezogen.
Wenn der Abstand zweier Ratezahlen zur richtigen Zahl gleich ist kommt das Ergebnis "neutral" raus.
Java-Code
Java-Code
Daher alles zum Quadrat genommen und Wurzel gezogen.
Wenn der Abstand zweier Ratezahlen zur richtigen Zahl gleich ist kommt das Ergebnis "neutral" raus.

public class HotColdMain { public static void main(String[] args) { HotCold.HotColdGame(); } }

import java.util.Scanner; public class HotCold { public static int counter = 1; public static void HotColdGame() { System.out.println("Spieler 1: Geben Sie eine natürliche Zahl zum Erraten ein: "); Scanner s1 = new Scanner(System.in); int n1 = s1.nextInt(); System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n"); System.out.println("Spieler 2: Versuchen Sie die Zahl zu erraten: "); final long timeStart = System.currentTimeMillis(); Scanner s2 = new Scanner(System.in); int n2 = s2.nextInt(); int dif1 = (int) Math.sqrt((n2-n1)*(n2-n1)); if((n2-n1) == 0) { System.out.println("Richtig erraten! \nDu hast gewonnen!"); System.out.println("Versuche: " + counter); final long timeEnd1 = System.currentTimeMillis(); System.out.println("Zeit: " + (timeEnd1-timeStart)/1000.00 + "s"); restart(); } else { System.out.println("Leider falsch. Nochmal erraten: "); } while(dif1 != 0) { Scanner s3 = new Scanner(System.in); int sc = s3.nextInt(); if ((int)Math.sqrt((sc-n1)*(sc-n1)) < dif1 && (int)Math.sqrt((sc-n1)*(sc-n1)) != 0) { System.out.println("wärmer"); dif1 = (int) Math.sqrt((sc-n1)*(sc-n1)); counter++; } else if ((int)Math.sqrt((sc-n1)*(sc-n1)) > dif1) { System.out.println("kälter"); dif1 = (int) Math.sqrt((sc-n1)*(sc-n1)); counter++; } else if ((int)Math.sqrt((sc-n1)*(sc-n1)) == dif1) { System.out.println("neutral"); dif1 = (int) Math.sqrt((sc-n1)*(sc-n1)); counter++; } else if ((int)Math.sqrt((sc-n1)*(sc-n1)) == 0) { final long timeEnd2 = System.currentTimeMillis(); counter++; System.out.println("Richtig erraten!"); System.out.println("Versuche: " + counter); System.out.println("Zeit: " + ((timeEnd2-timeStart)/1000.00) + "s"); restart(); } } } public static void restart() { System.out.println("Willst du nochmal spielen? [1]=JA / [2]=NEIN" ); Scanner s4 = new Scanner(System.in); int UserEingabe = s4.nextInt(); if(UserEingabe == 1) { HotColdGame(); } else if (UserEingabe == 2) { } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1