Ich habe das Ganze leider etwas verpennt, das tut mir echt mega leid :/Ohja des wäre so mega, ich kenn mich null aus und hab iwas zusammen geschrieben mit meinem begrenzten wissen![]()
Ich habe das Ganze leider etwas verpennt, das tut mir echt mega leid :/Ohja des wäre so mega, ich kenn mich null aus und hab iwas zusammen geschrieben mit meinem begrenzten wissen![]()
public class Macao3 {
public static void main(String[] args)
{
final int numberOfPlayers;
int wurf;
// String y = "y"; sollte nicht notwenig sein, siehe Anpassung Zeile 36
String eingabe;
Scanner sc = new Scanner(System.in);
System.out.println("Bitte Spielerzahl eingeben");
numberOfPlayers = sc.nextInt();
//int[] points = new int[numberOfPlayers + 1];
int[] points = new int[numberOfPlayers]; // Spart uns ein Element und damit Speicher
System.out.println("Pointslänge: " + points.length);
//for (int i = 1; i < numberOfPlayers + 1; i++)
for(int i = 0; i < numberOfPlayers; i++) // Wir beginnen beim ersten Element, welches auf Position 0 ist
{
points[i] = 0; // Wir initialsieren die Punkte des aktuellen Spielers mit 0, denn er hat ja noch keine
System.out.println("NEXT TURN: Spieler: " + (i+1); // Der richtige Spielername ist immer i+1
wurf = (int) (Math.random() * 6 + 1);
System.out.print("Würfelwurf: " + wurf + " ");
points[i] += wurf;
System.out.println("Points" + (i+1) + ": " + points); // Ich vermute mal hier soll die Spielernummer hin
System.out.println("Nochmal würfel?");
eingabe = sc.next();
// while (eingabe.equals(y))
while (eingabe.equals("y")) // Sollte auch Funktionieren.
{
System.out.println("NEXT TURN: Spieler: " + (i+1); // Spielernummer ist i+1
wurf = (int) (Math.random() * 6 + 1);
System.out.print("Würfelwurf: " + wurf + " ");
points[i] += wurf;
System.out.println("Summe: " + points[i]);
if (points[i] > 9)
{
System.out.println("Verloren!");
break;
}
System.out.println("Nochmal würfel?");
eingabe = sc.next();
continue;
}
System.out.println("Finale Summe: " + points[i]);
}
//int o = 1;
//int k = 2;
// Anpassung des C++ Codes von mir, Arryinitialisierung wurde von oben übernommen und nicht geprüft
int maxPoints = 0;
int maxPosition = 0;
bool[] winner = new bool[numberOfPlayers];
for(int i = 0; i < numberOfPlayers; i++)
{
winner[i] = true;
}
// Zu erst ist jeder ein Potenzieller gewinner, jeder der nicht gewonnen hat ist nach der Schleife auf "false" gesetzt.
for(int i = 0; i < numberOfPlayers; i++)
{
if(points[i] > 9)
{
winner[i] = false;
}
else if(ponits[i] < maxPoints)
{
winner[i] = false;
}
else if(points[i] > maxPoints)
{
maxPoints = points[i];
i = 0;
}
}
for(int i = 0; i < numberOfPlayers; i++)
{
if(winner[i]) // Wenn False passiert nichts, wenn true wird in die If Anweisung herein gegangen
{
System.out.println("Spieler" + (i+1) + " hat gewonnen mit: " + points[i]); // Spielernummer i+1 aber die dazu gehöriigen Punkte sind i
}
sc.close();
}
}
Tickt die Uhr noch oder hast du bereits eine Lösung hochgeladen?Die Sache ist die, wir haben Arrays noch garnicht gemacht
Du brauchst nicht für jeden Spieler eine eigene Variable. Die Regeln besagen nicht umsonst dass jeder nur einmal zum Zug kommt. So brauchst du nur 2 Variablen, nämlich den derzeit besten Spieler und den dazugehörigen Punktestand. Den Vergleich machst du dann direkt in der Schleife, sobald ein Spieler fertig mit würfeln ist und überschreibst von dort gegebenenfalls die Variablen. So steht zum Schluss ganz von selbst der beste Spieler in den Variablen, die du dann nur noch ausgibst.Also des Problem ist, wo ich nichtmehr weiter ist ist, das ich die Summe jeden Spielers ja in eine variable speichern muss um sie am Ende wieder vergleichen zu können, welche nun größer ist bzw welche als erstes da war und ich muss ja für jeden Spieler eine eigene Variable anlegen aber da weiß ich nicht wie man des automatisieren kann, das es eben für beliebig viele Spieler funktioniert
import java.io.File;
//import gdi.ct.CtImage.*;
import java.util.Scanner;
public class CtViewer {
public static void main(String[] args) throws java.io.FileNotFoundException {
int [][][] scan = new int [203][203][138];
for (int x = 0 ; x < 203 ; x++) {
for (int y = 0 ; y < 203 ; y++) {
for (int z = 0 ; z < 138 ; z++) {
scan [x][y][z] = -1000;
}
}
}
File CT_Chest = new File ("C:\\GDI\\Hausaufgabe_05\\Homework_5");
Scanner sc = new Scanner (CT_Chest);
String eingabe;
eingabe = sc.nextLine();
System.out.println(eingabe);
sc.close();
}
}