Ratespiel???

JavaNull99

Mitglied
Hallo,

ich versuche gerade das Ratespiel zu programmieren und verzweifle gerade.
Habe schon Beiträge zu diesem Spiel gesehen, die mir aber bei meinem Problem leider nicht helfen.

Ich möchte das Spiel so programmieren, dass der Anwender nach einer Zahl zwischen eins und zehn gefragt wird. Er hat genau drei Versuche. Als Hilfe wird durch kalt, warm, heiß angegeben wie nah er dran ist.

Soweit klappt es auch, nur will ich jetzt, dass das Spiel 10 Runden läuft und er pro Runde 3 Versuche hat und ihm immer wieder mit kalt, warm, heiß angegeben wird wie nah er ist.
Hab das mal auf drei Runden gekürzt. Die erste Runde funktioniert einwandfrei, aber bereits in der zweiten Runde wird nur noch nach der Zahl gefragt. Mehr macht er nicht mehr.
Da muss irgendwo ein Schleifenfehler vorliegen, nur weiß ich nicht wo!

Hoffe ihr könnt mir helfen.

Gruß

Java:
import java.io.*; 

public class uebung 
{
	public static void main(String[] args) throws IOException 
	{
		BufferedReader stdin = new BufferedReader ( new InputStreamReader (System.in));							
	
		String inData;
		double zufallszahl = 0, eingabe, ergebnis;
		int versuche = 0, value,runde=1;
		
		while (runde<=10)
		{
		zufallszahl = Math.random();
		ergebnis = 10*zufallszahl;																		 
		ergebnis = Math.round(ergebnis);
		value = new Double(ergebnis).intValue();
		
		System.out.println("Ich denke an eine Zahl zwischen 1 und 10. An welche Zahl denke ich?");				
		inData = stdin.readLine();
		eingabe =Integer.parseInt(inData);
		
		
		
			
		while (versuche<3)																						
			{
				if (eingabe!=value)
				{
				
						if (eingabe<value-2||eingabe>value+2)
							{
								System.out.println("Kalt!");
							}	
								if (eingabe==value-2||eingabe==value+2)
									{
										System.out.println("Warm!");
									}
										if (eingabe==value-1||eingabe==value+1)
											{
												System.out.println("Heiß!");
											}	
				
										if (versuche<2)
										{	
											System.out.println("Versuchen Sie es nochmal!");						
											inData = stdin.readLine();
											eingabe =Integer.parseInt(inData);					
										}
										else
											System.out.println("Sie haben verloren! Die Zahl war "+value);
										}	
							
				
				else
				{
					System.out.println("Sie haben gewonnen! Ich dachte an die Zahl "+value+" !");
					versuche=3;
				}
					versuche++;
			} 
		runde++;
		}
	} 
}
 

diggaa1984

Top Contributor
nach der ersten Runde ist versuch immer 3 .. das heisst die 2. while-Schleife wird net mehr ausgeführt .. du solltest
Code:
versuche = 0
am Anfang der ersten while-schleife setzen
 

Ähnliche Java Themen

Neue Themen


Oben