# SchereSteinPapier



## Guest (29. Jan 2007)

```
package aufgaben;

import java.util.Scanner;

public class SchereSteinPapier {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Automatisch erstellter Methoden-Stub

		//Variablen
			int schere = 1;
			int stein = 2;
			int papier = 3;
			int pc;
			int spieler;
			double pcwahl;
			int spielerwahl;
			
		Scanner aScanner = new Scanner (System.in);
		
		do
		{
			pcwahl = (int) (Math.random()*3);  
			
			System.out.println("Der PC Hat nun eine Wahl getroffen zwischen Schere,Stein,Papier");
			System.out.println("Nun sind sie an der reie wählen sie die \n 1 = Schere \2 = Stein \n 3 = Papier");
			
			spielerwahl = aScanner.nextInt();
			
			if (spielerwahl == schere)
			{
				if (spielerwahl == pcwahl )
				{
					System.out.println("Sie hatten die gleiche wahl wie der PC.");
				}
				else if (pcwahl == stein)
				{
					pc++;
					System.out.println("Der PC Hat gewonnen!");
				}
				else
				{
					spieler++;
					System.out.println("Sie haben gewonnen!");
				}
			
			}
			
			else if (spielerwahl == stein)
			{
				if (spielerwahl == pcwahl )
				{
					System.out.println("Sie hatten die gleiche wahl wie der PC.");
				}
				else if (pcwahl == papier)
				{
					pc++;
					System.out.println("Der PC Hat gewonnen!");
				}
				else
				{
					spieler++;
					System.out.println("Sie haben gewonnen!");	
				}
			}
				
			else if (spielerwahl == papier)
			{
				if (spielerwahl == pcwahl )
				{
					System.out.println("Sie hatten die gleiche wahl wie der PC.");
				}
				else if (pcwahl == schere)
				{
					pc++;
					System.out.println("Der PC Hat gewonnen!");
				}
				else
				{
					spieler++;
					System.out.println("Sie haben gewonnen!");
				}
			}
			
			System.out.println("Sie haben " + spieler + " Gewonnen"+"Der PC hat " + pc + " Gewonnen");
		}
		while ( (spieler == 3) && (pc == 3) )

		
	}

}
```
Also der bringt mir am ende der do while schleife en fehler also bei der Kalmmer aber die muss ja da hin des echt shit


----------



## masta // thomas (29. Jan 2007)

```
while ( (spieler == 3) && (pc == 3) )
```

Bei deiner while Schleife fehlt eine Anweisung.


----------



## DocRandom (29. Jan 2007)

..weil bei einer do-while-Schleife hinter das while ein Semikolon gehört ';'
Dein Code 
*FALSCH*:

```
while ( (spieler == 3) && (pc == 3) )
```
*RICHTIG*

```
while ( (spieler == 3) && (pc == 3) );
```

mfg
DocRandom


----------



## Gast (29. Jan 2007)

Ja das hatte ich jetzt auch gemerkt  trozdem danke funktuniert jetzzt müsste ich des ding nur noch in nen applet oder so packen aber des is zu hoch für mich  leider


----------



## masta // thomas (29. Jan 2007)

tatsächlich, es ist eine do while gewesen


----------



## DocRandom (29. Jan 2007)

Dann guck mal da  rein, da wird Dir alles erklärt!

mfg
DocRandom


----------



## Gast (29. Jan 2007)

Thx dann mach ich mich mal da dran
ach ja gibts eigentlich auch so ne math.random funktion für strings???
wusste halt nich wie ich des anderst machen soll is sicher ziemlich kompliziert gestaltet^^


----------



## DocRandom (29. Jan 2007)

> ach ja gibts eigentlich auch so ne math.random funktion für strings???


??? was meinst Du damit?

mfg
DocRandom


----------



## Gast (29. Jan 2007)

ja des er keine zufällige zahl auswählt sondern en zufäggligen buchstaben


----------



## The_S (29. Jan 2007)

Joa, kannst dir ja aus der Zahl n ASCII Wert generieren lassen. Siehe dazu www.google.de => Bildersuche => ASCII Tabelle .

Einen int in ein ASCII-Wert bekommst du so:


```
char grossesA = (char)65;
```

Oder wenn es nur vordefinierte sein dürfen, kannst du alle Möglichkeiten in ein Array speichern und dann dieses Array-Element verwenden, auf das deine Zufallszahl zeigt.


----------



## Leroy42 (29. Jan 2007)

```
String[] knobel = {"Schere", "Stein", "Papier", "Brunnen"};
Random rand = new Random();
...
System.out.println(knobel[rand.nextInt(knobel.length)]);
```


----------



## The_S (29. Jan 2007)

Brunnen is gecheatet


----------



## Leroy42 (29. Jan 2007)

```
String[] knobel = {"Schere", "Stein", "Papier", "Gard-Haarspray mit Feuerzeug"}; 
Random rand = new Random(); 
... 
System.out.println(knobel[rand.nextInt(knobel.length)]);
```


----------



## The_S (29. Jan 2007)

Und wenn Gard-Haarspray mit Feuerzeug auf Gard-Haarspray mit Feuerzeug trifft, gibts nicht wie gewöhnlich noch ne Runde, sondern beide haben verloren da keine Hand mehr?


----------



## Leroy42 (29. Jan 2007)

Hmmh! Wohl noch nicht so ganz ausgereift, mein Brunnen-Ersatz.  ???:L


----------



## The_S (29. Jan 2007)

In der Tat ... 3 Gegenstände reichen auch. Alles andere is neumodischer krimskram ... früher war alles besser ^^


----------



## Azrahel (29. Jan 2007)

Ach, da gibts mehr als nur Stein?  :shock:


----------



## Jango (29. Jan 2007)

Wie Leroy nur auf das Gard-Haarspray gekommen ist... Bedenklich... Man sollte mal ernst drüber nachdenken...  :?


----------

