D
Destiny1985
Gast
Ich habe mal zur Übung ein Schere-Stein-Papier Speil gebastelt. Zum Code, den ihr etwas weiter unten findet, folgende Frage:
Die Ausgabe der Zwischenstände erfolgt ja nach jeder Runde. Also hab ich den Code in jeder Möglichkeit, die die switch-Abfrage bietet, mit drin. Das sind aber jedesmal 4 Zeilen, bei 9 Möglichkeiten also 36 Zeilen Quelltext nur dafür...das ist ein bißchen viel. Bin beim Lernen gerade beim Thema Felder. Weiss also noch nicht wie ich das anders lösen kann. Meines wissens nach müsste es aber doch gehen diesen Code auszulagern und dann zb über ne Zeile wie
oder ähnlich aufzurufen ? Kann mit jemand erklären und zeigen wie ich so etwas lösen kann ?
Hier der komplette Quelltext:
Die Ausgabe der Zwischenstände erfolgt ja nach jeder Runde. Also hab ich den Code in jeder Möglichkeit, die die switch-Abfrage bietet, mit drin. Das sind aber jedesmal 4 Zeilen, bei 9 Möglichkeiten also 36 Zeilen Quelltext nur dafür...das ist ein bißchen viel. Bin beim Lernen gerade beim Thema Felder. Weiss also noch nicht wie ich das anders lösen kann. Meines wissens nach müsste es aber doch gehen diesen Code auszulagern und dann zb über ne Zeile wie
Code:
Zwischenstand();
Hier der komplette Quelltext:
Code:
import Prog1Tools.IOTools;
public class SchereSteinPapier2
{
public static void main(String[] args)
{
int zufallsWert = 0;
final short schere = 1;
final short stein = 2;
final short papier = 3;
boolean ende = false;
int zaehlerNiederlage = 0;
int zaehlerSieg = 0;
int zaehlerUnentschieden = 0;
while (!ende)
{
System.out.println("\n[1] - Schere");
System.out.println("[2] - Stein");
System.out.println("[3] - Papier");
System.out.println("\n[4] - Programm beenden");
System.out.print("\nSie waehlen: ");
int auswahl = IOTools.readInteger();
int zufallsZahl = (int)(3 * Math.random() + 1);
switch ( auswahl )
{
case 1 :
{
if (zufallsZahl == 1)
{
System.out.println("\n=== Schere trifft auf Schere ===");
zaehlerUnentschieden += 1;
System.out.println("\nAktueller Stand:");
System.out.print("\nSiege: " + zaehlerSieg);
System.out.print(" Unentschieden: " + zaehlerUnentschieden);
System.out.println(" Niederlagen: " + zaehlerNiederlage);
}
if (zufallsZahl == 2)
{
System.out.println("\n--- Schere verliert gegen Stein ---");
zaehlerNiederlage += 1;
System.out.println("\nAktueller Stand:");
System.out.print("\nSiege: " + zaehlerSieg);
System.out.print(" Unentschieden: " + zaehlerUnentschieden);
System.out.println(" Niederlagen: " + zaehlerNiederlage);
}
if (zufallsZahl == 3)
{
System.out.println("\n+++ Schere gewinnt gegen Papier +++");
zaehlerSieg += 1;
System.out.println("\nAktueller Stand:");
System.out.print("\nSiege: " + zaehlerSieg);
System.out.print(" Unentschieden: " + zaehlerUnentschieden);
System.out.println(" Niederlagen: " + zaehlerNiederlage);
}
break;
}
case 2 :
{
if (zufallsZahl == 1)
{
System.out.println("\n+++ Stein gewinnt gegen Schere +++");
zaehlerSieg += 1;
System.out.println("\nAktueller Stand:");
System.out.print("\nSiege: " + zaehlerSieg);
System.out.print(" Unentschieden: " + zaehlerUnentschieden);
System.out.println(" Niederlagen: " + zaehlerNiederlage);
}
if (zufallsZahl == 2)
{
System.out.println("\n=== Stein trifft auf Stein ===");
zaehlerUnentschieden += 1;
System.out.println("\nAktueller Stand:");
System.out.print("\nSiege: " + zaehlerSieg);
System.out.print(" Unentschieden: " + zaehlerUnentschieden);
System.out.println(" Niederlagen: " + zaehlerNiederlage);
}
if (zufallsZahl == 3)
{
System.out.println("\n--- Stein verliert gegen Papier ---");
zaehlerNiederlage += 1;
System.out.println("\nAktueller Stand:");
System.out.print("\nSiege: " + zaehlerSieg);
System.out.print(" Unentschieden: " + zaehlerUnentschieden);
System.out.println(" Niederlagen: " + zaehlerNiederlage);
}
break;
}
case 3 :
{
if (zufallsZahl == 1)
{
System.out.println("\n--- Papier verliert gegen Schere ---");
zaehlerNiederlage += 1;
System.out.println("\nAktueller Stand:");
System.out.print("\nSiege: " + zaehlerSieg);
System.out.print(" Unentschieden: " + zaehlerUnentschieden);
System.out.println(" Niederlagen: " + zaehlerNiederlage);
}
if (zufallsZahl == 2)
{
System.out.println("\n+++ Papier gewinnt gegen Stein +++");
zaehlerSieg += 1;
System.out.println("\nAktueller Stand:");
System.out.print("\nSiege: " + zaehlerSieg);
System.out.print(" Unentschieden: " + zaehlerUnentschieden);
System.out.println(" Niederlagen: " + zaehlerNiederlage);
}
if (zufallsZahl == 3)
{
System.out.println("\n=== Papier trifft auf Papier ===");
zaehlerUnentschieden += 1;
System.out.println("\nAktueller Stand:");
System.out.print("\nSiege: " + zaehlerSieg);
System.out.print(" Unentschieden: " + zaehlerUnentschieden);
System.out.println(" Niederlagen: " + zaehlerNiederlage);
}
break;
}
case 4 :
{
System.out.println("\n=+- Programmende -+=");
System.out.println("\nSie beenden das Spiel mit");
System.out.println();
System.out.println(zaehlerSieg + " Siegen");
System.out.println(zaehlerUnentschieden + " Unentschieden und");
System.out.println(zaehlerNiederlage + " Niederlagen");
ende = true;
break;
}
default :
{
System.out.println("\nEingabefehler! 1 - 4 sind moegliche Eingaben");
break;
}
}
}
}
}