Hallo liebe Community,
ich muss für die Schule ein Programm erstellen und dieses Programm dann quasi Step-By-Step präsentieren.
Ich habe mich für ein Saufspiel entschieden und habe auch schon mit dem Code angefangen.
Das Spiel läuft wie folgt ab:
1. Es wird die Anzahl der Spieler eingegeben.
2. Jeder Spieler muss seinen Vornamen eingeben.
3. Jeweils 2 Spieler werden in Wettkämpfe verstrickt. // Bei 6 Spielern, 3 Wettkämpfe
4. Ich werde in Zukunft noch Klassen mit verschiedenen Minigames erstellen, die Zufällig auf die Wettkämpfe zugreifen und werde auch Regeln aufstellen. (z.B. Verlierer des Spiels muss Kurzen oder Bier trinken, etc.)
Was mein Problem ist, ist das setzen der Strings(Spieler) in Wettkämpfe. Ich will, dass die Spieler in folgendem Format gegeneinander aufgelistet werden:
Hans vs. Dieter --- Schere-Stein-Papier
David vs. Ron --- Flip-Cup
(Spieler 1 vs Spieler 3 --- GameClass)
Mein Problem ist der Math.Random-Befehl und wie ich ihn setzen muss, damit er im Namen[] eine Zahl zwischen 1 und anzahl nimmt, dann schon gesetzte Zahlen nicht nochmal verwendet und zu letzt wenn Anzahl ungerade ist (Spieler-Anzahl) den letzten Random-Spieler gegen None setzt, so dass er aussetzen muss.
Für Hilfe bedanke ich mich schonmal im voraus ).
Mit freundlichen Grüßen
Furkos
ich muss für die Schule ein Programm erstellen und dieses Programm dann quasi Step-By-Step präsentieren.
Ich habe mich für ein Saufspiel entschieden und habe auch schon mit dem Code angefangen.
Das Spiel läuft wie folgt ab:
1. Es wird die Anzahl der Spieler eingegeben.
2. Jeder Spieler muss seinen Vornamen eingeben.
3. Jeweils 2 Spieler werden in Wettkämpfe verstrickt. // Bei 6 Spielern, 3 Wettkämpfe
4. Ich werde in Zukunft noch Klassen mit verschiedenen Minigames erstellen, die Zufällig auf die Wettkämpfe zugreifen und werde auch Regeln aufstellen. (z.B. Verlierer des Spiels muss Kurzen oder Bier trinken, etc.)
Java:
import java.util.*;
public class Saufspiel
{
public static int randZahl(int min, int max) // Zufallsfunktion von einem Freund
{
Random rand = new Random();
int zufallsZahl = rand.nextInt((max - min) + 1) + min;
return zufallsZahl;
}
public static void main(String argv[])
{
int anzahl;
int i;
String Namen[];
int zufall;
Scanner eingabe = new Scanner(System.in);
System.out.println("Willkommen zum Saufspiel!");
System.out.println("");
System.out.print("Gebe die Anzahl der Spieler ein: ");
anzahl = eingabe.nextInt();
int zuff = randZahl(0,anzahl);
Namen = new String[anzahl];
System.out.println("Ihr seid "+anzahl+" Spieler.");
System.out.println("");
System.out.println("Gebt jetzt nach der Reihe eure Vornamen ein: ");
for (i=0;i<anzahl ;i++ )
{
Scanner strscanner = new Scanner(System.in);
System.out.print("Der "+(i+1)+". Name: ");
Namen[i] = strscanner.nextLine();
}
System.out.println("------------------------------------------");
System.out.println("------------------------------------------");
for (i=0;i<anzahl ;i++ ) {
System.out.print("Der "+(i+1)+". Spieler heißt: "+Namen[i]+" .");
System.out.println("");
}
System.out.println("------------------------------------------");
System.out.println("------------------------------------------");
System.out.println("");
System.out.println("Let The Sauf-War start!");
System.out.println("");
for (i=0;i<3;i++) { // Das sollte die "Random-Schleife" sein, die die Spieler im Zufallsprinzip gegeneinander setzt
// Was mir hierbei wichtig ist, ist, dass ein "vs." zwischen den Spielern steht und falls bei int Anzahl eine ungerade
// Zahl eingegeben wurde ein Spieler aussetzen muss (Bsp: Hans vs. None oder so)
zufall = (int) (Math.random() * anzahl) +1;
System.out.print((i+1)+". Battle = ");
for(int j=2;j<4;j++)
{
if (i%2==0) {
System.out.print(Namen[zufall]+ " vs. ");
}
else {
System.out.print(Namen[zufall]);
System.out.println("");
}
}
}
}
}
Was mein Problem ist, ist das setzen der Strings(Spieler) in Wettkämpfe. Ich will, dass die Spieler in folgendem Format gegeneinander aufgelistet werden:
Hans vs. Dieter --- Schere-Stein-Papier
David vs. Ron --- Flip-Cup
(Spieler 1 vs Spieler 3 --- GameClass)
Mein Problem ist der Math.Random-Befehl und wie ich ihn setzen muss, damit er im Namen[] eine Zahl zwischen 1 und anzahl nimmt, dann schon gesetzte Zahlen nicht nochmal verwendet und zu letzt wenn Anzahl ungerade ist (Spieler-Anzahl) den letzten Random-Spieler gegen None setzt, so dass er aussetzen muss.
Für Hilfe bedanke ich mich schonmal im voraus ).
Mit freundlichen Grüßen
Furkos