Hallo,
ich möchte ein Kartenspiel programmieren hierzu soll ein zufälliger Startspieler bestimmt werden, und die Reihenfolge der Spieler dann fortgesetzt werden.
z.B. 5 Spieler
Zufälliger Startspieler = 4
Reihenfolge der Spieler= 4,5,1,2,3
Ich habe das viel zu komplex programmiert mit 2 Array Listen. Das geht doch bestimmt besser oder? Gibt es Tipps? Hier der Quellcode:
import java.util.ArrayList;
public class Test3 {
public static void main(String[] args) {
int allplayer = 4;
int random_number = (int) ((Math.random()) * allplayer+1 ); //Startspieler bestimmen
ArrayList<Integer> playernumbers=new ArrayList<>();
ArrayList<Integer> arr2= new ArrayList<>();
if(allplayer==random_number) { //Wenn Startspieler gleich höchste Spieleranzahl dann zähle einfach von 1 hoch
System.out.println("Startspieler ist Player"+" "+random_number);
for (int a = 0; a < allplayer; allplayer--) {
playernumbers.add(allplayer);
}
System.out.println(playernumbers);
} else { //ansonsten zähle von 1 bis Zufallsspieler
System.out.println("Startspieler ist Player"+" "+random_number);
for(int i=0;i<random_number;i++)
{
arr2.add(i+1);
}
for (;allplayer>random_number;random_number++) //und zähle vom Zufallsspieler bis zum letzten Spieler
{
playernumbers.add(random_number);
}
playernumbers.add(random_number); //Alles in Array Listen speichern und ausgeben
playernumbers.addAll(arr2);
playernumbers.remove(playernumbers.size()-1);
System.out.println("Spielreihenfolge"+playernumbers);
}
}
}
Vielen Dank
Gruß Tobi
ich möchte ein Kartenspiel programmieren hierzu soll ein zufälliger Startspieler bestimmt werden, und die Reihenfolge der Spieler dann fortgesetzt werden.
z.B. 5 Spieler
Zufälliger Startspieler = 4
Reihenfolge der Spieler= 4,5,1,2,3
Ich habe das viel zu komplex programmiert mit 2 Array Listen. Das geht doch bestimmt besser oder? Gibt es Tipps? Hier der Quellcode:
import java.util.ArrayList;
public class Test3 {
public static void main(String[] args) {
int allplayer = 4;
int random_number = (int) ((Math.random()) * allplayer+1 ); //Startspieler bestimmen
ArrayList<Integer> playernumbers=new ArrayList<>();
ArrayList<Integer> arr2= new ArrayList<>();
if(allplayer==random_number) { //Wenn Startspieler gleich höchste Spieleranzahl dann zähle einfach von 1 hoch
System.out.println("Startspieler ist Player"+" "+random_number);
for (int a = 0; a < allplayer; allplayer--) {
playernumbers.add(allplayer);
}
System.out.println(playernumbers);
} else { //ansonsten zähle von 1 bis Zufallsspieler
System.out.println("Startspieler ist Player"+" "+random_number);
for(int i=0;i<random_number;i++)
{
arr2.add(i+1);
}
for (;allplayer>random_number;random_number++) //und zähle vom Zufallsspieler bis zum letzten Spieler
{
playernumbers.add(random_number);
}
playernumbers.add(random_number); //Alles in Array Listen speichern und ausgeben
playernumbers.addAll(arr2);
playernumbers.remove(playernumbers.size()-1);
System.out.println("Spielreihenfolge"+playernumbers);
}
}
}
Vielen Dank
Gruß Tobi
Zuletzt bearbeitet: