Erste Schritte Spielstart per Tastendruck

xXlautiXx

Mitglied
Hi Leute,
ich habe ein Schere, Stein, Papier spiel gebastelt. Doch es startet nach dem einer gewonnen hat nicht neu. Ich würde gerne das wenn man eine zahl (5 oder so) drückt, es neu startet. Leider habe ich keine Lösung sonst wo gefunden und dachte ich wende mich an euch. Wäre nett wenn ihr helfen könntet.
Mfg Lauti

Hier der Code bis jetzt :
Java:
 *
  * @version 1.0 vom 26.02.2012
  * @author
  */
import java.util.Scanner;
public class SchereSteinPapier {

  public static void main(String[] args)
  {

  System.out.println("1 entspricht Stein, 2 entspricht Schere, 3 entspricht Papier");
  Scanner in = new Scanner (System.in);
  System.out.println("Spieler 1 geben sie ihren Wert ein ");
  double player1= in.nextDouble();
  System.out.println("Spieler 2 geben sie ihren Wert ein");
  double player2= in.nextDouble();

  if ( player1 == player2)
  {
    System.out.println("Unentschieden");
  }
  else
  {
    if ( player1 == 1)
    {
      if ( player2 == 2)
      {
      System.out.println("Spieler 1 gewinnt");
      }
      else
      {
      System.out.println("Spieler 2 gewinnt");
      }
    }
    else
    {
      if ( player1 == 2 )
      {
        if (player2 == 1)
        {
          System.out.println("Spieler 2 gewinnt");
        }
        else
        {
          System.out.println("Spieler 1 gewinnt");
        }
      }
      else
        if (player1 == 3)
        {
         if (player2 == 1)
         {
            System.out.println("Spieler 1 gewinnt");
         }
         else {System.out.println("Spieler 2 gewinnt");

         }
        }
    }
  }

}
}

   // end of main

 // end of class SchereSteinPapier
 

Michael...

Top Contributor
Stichwort: Methoden definieren.
Nicht alles in die main klatschen, die ist nur zum Starten einer Applikation gedacht.

Definiere eine Klasse mit sauber strukturierten Methoden.
In deinem Fall würde es sogar ausreichen den Spielablauf gesamthaft in eine Methode auszulagern. In der main wird diese Methode in einer Schleife solange aufgerufen, solange der Anwender am Ende z.B. "5" eingibt, oder die Frage "neues Spiel starten" mit ja beantwortet.
 

xXlautiXx

Mitglied
Danke schonmal, ja an eine Schleife hatte ich auch gedacht, aber leider weis ich nicht genau wohin und wie ich was schreiben muss das es nur geht wenn ich zB 5 drücke? Auch mit der Methode kann ich leider nicht viel anfangen. Bin sehr sehr neu bei Java
 

irgendjemand

Top Contributor
GRUNDLAGEN LERNEN ... anstatt spiele zu programmieren ...

ich glaube kaum das dir bei diesem basic-thema jemand alles erklären wird was du dir auch selbst aneignen kannst ...

spiele haben in der regel sog. game-loops ... in diesen läuft logik und ggf grafik ... aber da du ja scheinbar nicht mal mit loops umgehen kannst solltest du sowas erstmal lernen ..
 

irgendjemand

Top Contributor
in dem du 1) do-while verwendest 2) als condition die prüfung der eingabe schreibst anstatt einem einfach true 3) mal nach "Java ist auch eine Insel" googlest und das durchgehst ... weil dir fehlen ja wirklich elementare grundlagen

ps : java.util.Scanner ist eine bequemlichkeits-klasse um sinnvoll und einfach inputstreams zu lesen
 

KingOfExceptions

Bekanntes Mitglied
wenn du willst kannst du dir ja mal die kapitel 10 und 15-19 angucken in meiner signatur unten.... dann sollte so ziemlich alles über schleifen klar sein.... oder dir mal wie irgendjemand auch schon sagte JAVA IST AUCH EINE INSEL anguckst....
 

Schrubber

Bekanntes Mitglied
Ich geh ins Bett.
Hier eine vielleicht nicht optimale Lösung (mir gefällt der static boolean nicht), aber für Anfänger passts :)

Java:
import java.util.Scanner;

public class SchereSteinPapier {
	Scanner in = new Scanner (System.in);
	static boolean spielen = true;
	
	public static void main(String[] args) {
		while(spielen) {
			new SchereSteinPapier().eingabe();
		}
	}

	public void eingabe() {
		System.out.println("1 entspricht Stein, 2 entspricht Schere, 3 entspricht Papier");
		System.out.println("Spieler 1 geben sie ihren Wert ein ");
		double player1= in.nextDouble();
		System.out.println("Spieler 2 geben sie ihren Wert ein");
		double player2= in.nextDouble();
		auswertung(player1, player2);
	}

	public void auswertung(double player1, double player2) {
		if(player1 == player2) {
			System.out.println("Unentschieden");
			} else {
				if(player1 == 1) {
					if ( player2 == 2) {
						System.out.println("Spieler 1 gewinnt");
						} else {
							System.out.println("Spieler 2 gewinnt");
						}
					} else {
						if ( player1 == 2 ) {
							if (player2 == 1) {
								System.out.println("Spieler 2 gewinnt");
							} else {
								System.out.println("Spieler 1 gewinnt");
							}
						} else {
							if (player1 == 3) {
								if (player2 == 1) {
									System.out.println("Spieler 1 gewinnt");
								} else {
									System.out.println("Spieler 2 gewinnt");
								}
							}
						}
					}
			}
		System.out.println("Neues Spiel? Dann schreib 5!");
		if(in.nextDouble() != 5) {
			spielen = false;
		}
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Wie kann ich Images per Tastendruck anzeigen/einfügen? Java Basics - Anfänger-Themen 3
B Tastendruck zurücksetzen Java Basics - Anfänger-Themen 4
F Langer Tastendruck bei Fernbedienung Java Basics - Anfänger-Themen 3
T Tastendruck simulieren Java Basics - Anfänger-Themen 13
S Beliebigen Tastendruck "einlesen" (ohne Konsole) Java Basics - Anfänger-Themen 3
TheSorm java Schleife beenden per Tastendruck Java Basics - Anfänger-Themen 10
C Greenfoot: Bei Tastendruck und best. Wert Bild ändern Java Basics - Anfänger-Themen 2
P Klassen Bei KeyEvent in KeyListener den Tastendruck abbrechen Java Basics - Anfänger-Themen 5
U Thread reagiert nicht sofort auf Tastendruck Java Basics - Anfänger-Themen 14
T Tastendruck simulieren in JPanel Java Basics - Anfänger-Themen 3
Draculajr Tastendruck abwarten Java Basics - Anfänger-Themen 5
H Tastendruck simulieren | SendKeys Java Basics - Anfänger-Themen 12
S Schleife per Tastendruck abbrechen Java Basics - Anfänger-Themen 7
R Aktion bei Tastendruck Java Basics - Anfänger-Themen 5
E Programmsteuerung per Tastendruck Java Basics - Anfänger-Themen 4
G Tastendruck Java Basics - Anfänger-Themen 13
S Tastendruck abweisen Java Basics - Anfänger-Themen 7
T reaktion auf Tastendruck Java Basics - Anfänger-Themen 2
M Tastendruck. Java Basics - Anfänger-Themen 2
P String zu Date bei jedem Tastendruck parsen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben