[Studium] Mäxchenspiel programmieren

HorstPeter12

Mitglied
Nabend,
folgende Aufgabe:
Abgabe1_v0.2.pdf

hier mein code bisher:
Code:
import java.lang.Math;
public class Maexchen {
    public static void main (String... args) {
       
        int spielerAnzahl=Integer.parseInt(args [0]);            // Spielerzahl
       
        int x=2*(spielerAnzahl-1)+1;                            // Anzahl Parameter x
        int ergebnissSpieler=0;
        int wurfcomputer1=(int) (Math.random()*6)+1;
        int wurfcomputer2=(int) (Math.random()*6)+1;
        int ergebnissComputer=0;
       
        int[] a=new int[x];
       
        for (int i=0; i<a.length;i++) {
            a[i]=Integer.parseInt(args [i]);
           
        }
       
        for(int i=0; i<x-1; i++) {
            if (a[i]<=6 && a[i+1]<=6 && a[i]>0 && a[i+1]>0) {
                    if (a[i]==2 && a[i+1]==1) {
                        ergebnissSpieler=+1000;
                    } else if (a[i]==a[i+1]) {
                        ergebnissSpieler=+100*a[i];
                    } else {
                        ergebnissSpieler=10*Math.max(a[i],a[i+1])+Math.min(a[i],a[i+1]);
                    }
                    System.out.print(ergebnissSpieler);
            } else {
                    System.out.print(-1);
                    System.out.print(-1);
            } System.out.println();
        }
            if (wurfcomputer1==2 && wurfcomputer2==1) {
                ergebnissComputer=+1000;
            } else if (wurfcomputer1==wurfcomputer2) {
                ergebnissComputer=+100*wurfcomputer1;
            } else {
                ergebnissComputer=10*Math.max(wurfcomputer1,wurfcomputer2)+Math.min(wurfcomputer1,wurfcomputer2);
            }
            System.out.print(ergebnissComputer);
    }
}

Was zum Henker mach ich falsch? Danke im Vorraus.
 

Anhänge

  • Abgabe1_v0.2.pdf
    52,4 KB · Aufrufe: 25

krgewb

Top Contributor
Java:
ergebnissSpieler=+1000;
Das + kann weggelassen werden. Oder meinst du vielleicht
Java:
ergebnissSpieler+=1000;


Ich verstehe die Aufrufsyntax, die in dem Dokument steht, nicht.
 

HorstPeter12

Mitglied
Ich verstehe nicht, wie ich meine Fehlermeldungen bekomme, es soll ja immer -1 -1 kommen, wenn ich bei der Spieleranzahl (in cmd die erste Zahl die wir eingeben) zum Beispiel -100 oder 268 nimmst, die Spieleranzahl ist ja wie in der Pdf steht auf 5 Mitspieler begrenzt.
Am Schluss muss ich natürlich noch die Stelle mit dem Sieger küren machen, aber das wollte ich erst machen, wenn ich das Problem mit den Fehlermeldungen gelöst habe.
Zum -1 -1 Problem: Ich denke man muss das Ganze irgendwie in eine if-Bedingung packen, so in etwa:
if (a<2 && a>6) {
System.out.print(-1);
System.out.print(-1);
else....
mein Programm zum berechnen der Spielerpunktzahl - nur habe ich dann das Problem, dass es mehrere -1 -1 schreibt, nämlich für die jeweilige Spieleranzahl. Ich will aber bei ungültiger Eingabe nichts weiteres als einmal diese beiden -1 -1 in cmd.

Hoffe ich konnte mein Problem verständlich rüber bringen :D
MFG
 

truesoul

Top Contributor
Hallo.


Also
Java:
int x = 2 * (spielerAnzahl - 1) + 1;
wird so nicht gehen, wenn der Benutzer -1 -1 angibt.
Weil spielerAnzahl ja -1 ist. Du solltest also vorher überprüfen ob die Eingaben korrekt sind.

Die Exception die du bekommen wirst wird wahrscheinlich darauf hinweisen, dass der Index Negativ ist.
Siehe
Java:
int[] a = new int[x];

Und if (a<2 && a>6) wird nie zutreffen. Weil a nie kleiner 2 sein kann und zugleich größer als 6.

Grüße
 

HorstPeter12

Mitglied
Dann lese nochmal mein Post. :D
Ich habs jetzt so gemacht wie du glaube ich mal gemeint hast und es funktioniert mit den -1 -1 egal wieviele Spieler ich eingebe :) Hier mal mein Code:
Code:
import java.lang.Math;
public class Maexchen {
    public static void main (String... args) {
       
        int spielerAnzahl=Integer.parseInt(args [0]);            // Spielerzahl
       
        int x=2*(spielerAnzahl-1)+1;                            // Anzahl Parameter x
        int ergebnissSpieler=0;
        int wurfcomputer1=(int) (Math.random()*6)+1;
        int wurfcomputer2=(int) (Math.random()*6)+1;
        int ergebnissComputer=0;
       
       
       
       
    if (x<=6 && x>0) {
       
        int[] a=new int[x];
       
        for (int i=0; i<a.length;i++) {
            a[i]=Integer.parseInt(args [i]);
       
            }
       
        for(int i=1; i<x-1; i=i+2) {
            if (a[i]<=6 && a[i+1]<=6 && a[i]>0 && a[i+1]>0) {
                   
                    if (a[i]==2 && a[i+1]==1) {
                        ergebnissSpieler=+1000;
                       
                    } else if (a[i]==a[i+1]) {
                        ergebnissSpieler=+100*a[i];
                       
                    } else {
                        ergebnissSpieler=10*Math.max(a[i],a[i+1])+Math.min(a[i],a[i+1]);
                           
                    }
                    if (a[i]<=6 && a[i]>0) {
                        System.out.print(ergebnissSpieler);
                        System.out.print(" ");
                    }
        }
    }     if (wurfcomputer1==2 && wurfcomputer2==1) {
                ergebnissComputer=+1000;
               
            } else if (wurfcomputer1==wurfcomputer2) {
                ergebnissComputer=+100*wurfcomputer1;
               
            } else {
                ergebnissComputer=10*Math.max(wurfcomputer1,wurfcomputer2)+Math.min(wurfcomputer1,wurfcomputer2);
            }
            System.out.print(ergebnissComputer);
           
    } else {
    System.out.print(-1);
    System.out.print(-1);
   
}
}
}

Mir fehlt jetzt eigentlich echt nurnoch die Sache mit dem Gewinner bestimmen, kann ich da wieder mit arrays arbeiten und praktisch aus meinen arrays das größte rausziehen, es einmal über die Schleife laufen lassen und damit die Punktzahl des größten arrays ausliefern? = Sieger // wenn ja, wie genau definier ich dann, dass die ersten beiden eingaben, also array [1] und array [2] Spieler1 entsprechen usw.??

Danke
 

krgewb

Top Contributor
Also
Java:
int x = 2 * (spielerAnzahl - 1) + 1;
wird so nicht gehen, wenn der Benutzer -1 -1 angibt.
Im Dokument sind Aufrufbeispiele. Mit den Parametern 0, 1 und 1 soll ausgegeben werden:
-1 -1
Die Antwortsyntax lautet nämlich:
<Sieger oder -1 bei Fehler> <Punktezahl oder -1 bei Fehler>

@ truesoul Die Formel int x = 2 * (spielerAnzahl - 1) + 1; ist aber in der PDF vorgegeben. D:
Da steht es wie folgt drin:
x >= 2 * (Anzahl der Mitspieler – 1) + 1
 

HorstPeter12

Mitglied
WIm Dokument sind Aufrufbeispiele. Mit den Parametern 0 1 und 1 soll ausgegeben werden:
-1 -1
Die Antwortsyntax lautet nämlich:
<Sieger oder -1 bei Fehler> <Punktezahl oder -1 bei Fehler>


Da steht es wie folgt:
x >= 2 * (Anzahl der Mitspieler – 1) + 1
Das wird bei mir mit meinem jetzigen Code ausgegeben. Im jetzigen Code gibt er halt für jeden Spieler die Punktzahl noch mit aus, das muss ich noch ändern ansonsten passt es. Das Problem mit dem -1 -1 hab ich schon gelöst indem ich vorher überprüfe if (x<=6 && x>0) ansonsten System.out.print(-1) System.out.print(-1) (ganz am Ende des codes)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
T Informatik Studium Aufgabe Java Basics - Anfänger-Themen 4
T Aufgabe Informatik Studium Java Basics - Anfänger-Themen 10
StevenGG Aufgabe im Studium Java Basics - Anfänger-Themen 36
D Richtig Vorbereiten auf eine Programmier Klausur Studium. Java Basics - Anfänger-Themen 7
F Studium aufgabe ...Anfänger sucht hilfe :D Java Basics - Anfänger-Themen 24
H Welche IDE zum Buch "Programmieren mit Java" von Reinhard Schiedermeier des Verlags Pearson Studium Java Basics - Anfänger-Themen 19
M Problem, Studium Java Basics - Anfänger-Themen 13
C Verständnisfrage Studium (Java programmieren) Java Basics - Anfänger-Themen 11
D Java Aufgabe fürs Studium (bitte um Hilfe) Java Basics - Anfänger-Themen 8
T Mäxchenspiel mit Schleife Java Basics - Anfänger-Themen 3
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
B OOP was heißt objektorientiertes Programmieren (fragt ein absoluter Anfänger) Java Basics - Anfänger-Themen 17
laxla123 Rechteck programmieren Java Basics - Anfänger-Themen 4
A Erste Schritte Dynamische Stempel im PDF Exchange programmieren Java Basics - Anfänger-Themen 0
D Programmieren nach UML Java Basics - Anfänger-Themen 2
Y Taschenrechner programmieren Java Basics - Anfänger-Themen 3
B Überweisung programmieren Java Basics - Anfänger-Themen 7
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
D Ampel Programmieren die jede 10 sekunden ihre farbe wechselt Java Basics - Anfänger-Themen 6
J ArrayList add methode selbst programmieren Java Basics - Anfänger-Themen 10
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
thor_norsk Fernseher programmieren mit Java Java Basics - Anfänger-Themen 4
M Jenga Regeln Java Programmieren Java Basics - Anfänger-Themen 1
M Ressourcensparend programmieren Java Basics - Anfänger-Themen 3
brypa Wie Programmieren lernen? Java Basics - Anfänger-Themen 15
G Spielerwechsel programmieren Java Basics - Anfänger-Themen 1
J Solitär (Brettspiel) programmieren Java Basics - Anfänger-Themen 3
H Objektorientiertes Programmieren Java Basics - Anfänger-Themen 4
K 12- Stunden Konverter Programmieren Java Basics - Anfänger-Themen 1
WAB9703-04 Programm zum automatischen Ausfüllen von Formularen programmieren Java Basics - Anfänger-Themen 3
L Zahlenspiel programmieren Java Basics - Anfänger-Themen 1
TimoN11 Automat programmieren Java Basics - Anfänger-Themen 4
G Erste Schritte Array Mittelwert Methode Programmieren Java Basics - Anfänger-Themen 5
ehmo würfelspiel programmieren anfänger Java Basics - Anfänger-Themen 1
N Ufospiel programmieren Java Basics - Anfänger-Themen 13
KogoroMori21 Vorbereitung auf die Programmieren Klausur vom ersten Semester Java Basics - Anfänger-Themen 4
Drinkerbell Erste Schritte Zu blöd zum Programmieren? Java Basics - Anfänger-Themen 9
G Stack programmieren Java Basics - Anfänger-Themen 6
I Brauche Hilfe bei Objektorientiertem programmieren Java Basics - Anfänger-Themen 23
T Auf einem Schachbrett bewegen programmieren Java Basics - Anfänger-Themen 2
G Bruchrechner programmieren Java Basics - Anfänger-Themen 6
G Ufo Spiel programmieren Java Basics - Anfänger-Themen 13
D Schachbrett (8x8) programmieren Java Basics - Anfänger-Themen 3
J Spiel programmieren Java Basics - Anfänger-Themen 16
J Hilfe beim Programmieren Java Basics - Anfänger-Themen 5
S Kreisberechnung3 Buch: Programmieren lernen mit Java von Hans-Peter Habelitz Java Basics - Anfänger-Themen 39
M Quiz in Java programmieren mit Array Java Basics - Anfänger-Themen 8
S Spiel-Programmieren. Wenn ein Objekt den anderen berührt. Java Basics - Anfänger-Themen 6
K Java programmieren Java Basics - Anfänger-Themen 6
V_Fynn03 Kontrolle des Quelltextes (Bank programmieren)(GUI) Java Basics - Anfänger-Themen 6
D Was tun gegen zu komplzierten Denken beim Programmieren Java Basics - Anfänger-Themen 27
V_Fynn03 Bruchrechner programmieren (2 Klassen) Java Basics - Anfänger-Themen 9
N Ticketautomat programmieren Java Basics - Anfänger-Themen 63
M Rechner programmieren Java Basics - Anfänger-Themen 3
V_Fynn03 Java Bruchrechner programmieren Java Basics - Anfänger-Themen 13
J Java Suchfunktion Programmieren Java Basics - Anfänger-Themen 1
L Erste Schritte Bin ich "zu dumm" oder nicht geeignet zum Programmieren? Java Basics - Anfänger-Themen 3
U Ist jemad gut in programmieren (JAVA) und kann mir helfen? Java Basics - Anfänger-Themen 1
H Uhr programmieren Java Basics - Anfänger-Themen 10
T Schalter programmieren Java Basics - Anfänger-Themen 17
S Ampel Programmieren Java Basics - Anfänger-Themen 5
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
D Richtig für Programmieren an der UNI lernen Java Basics - Anfänger-Themen 8
B Folgende Abfrage dynamisch programmieren? Java Basics - Anfänger-Themen 8
D Beim Programmieren auf die Logisch einfache Lösung kommen. Java Basics - Anfänger-Themen 17
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
steven789hjk543 Kann man mit Java und Eclipse einen Virus programmieren? Java Basics - Anfänger-Themen 13
S Spiel programmieren mit Java Java Basics - Anfänger-Themen 11
A Kalender programmieren, ich finde meinen Fehler nicht. Java Basics - Anfänger-Themen 9
S Erste Schritte Hilfe beim lernen von Programmieren Java Basics - Anfänger-Themen 2
V Zeichenkette programmieren Java Basics - Anfänger-Themen 20
O Fenster programmieren Java Basics - Anfänger-Themen 2
R Uebersichtlicher bzw. besser Programmieren Java Basics - Anfänger-Themen 13
N Dynamisches Programmieren/Fibonacci Java Basics - Anfänger-Themen 1
B Spielfiguren für ein Beute-Jägerspiel programmieren Java Basics - Anfänger-Themen 12
A Programmieren lernen Java Basics - Anfänger-Themen 28
F ArrayListe manuell programmieren? Java Basics - Anfänger-Themen 24
X Erste Schritte Einstieg ins Programmieren Java Java Basics - Anfänger-Themen 2
O Erste Schritte ln(1+x) Reihe Programmieren Java Basics - Anfänger-Themen 6
Ellachen55 Weihnachtsbaum in Eclipse programmieren Java Basics - Anfänger-Themen 6
L Klassen Geldrückgabe - Aufgabe Programmieren Java Basics - Anfänger-Themen 23
H Stern Dreieck (Buch: Grundkurs Programmieren) Java Basics - Anfänger-Themen 2
V Variablen Vorkommen programmieren Java Basics - Anfänger-Themen 18
S Dreieckssignal programmieren Java Basics - Anfänger-Themen 5
K Fehler beim Programmieren von TicTacToe Java Basics - Anfänger-Themen 12
M Spiel programmieren Java Basics - Anfänger-Themen 16
A Fenster programmieren Java Basics - Anfänger-Themen 1
V OOP Kassensystem objektorientiert programmieren Java Basics - Anfänger-Themen 15
A Erste Schritte DoodleJump programmieren: Kollisionsabfrage Java Basics - Anfänger-Themen 4
CT9288 Kleine Simulation programmieren, denkanstöße erbeten Java Basics - Anfänger-Themen 19
D Könnt ihr mir helfen beim Programmieren eines Ping Pong Spieles? Java Basics - Anfänger-Themen 9
M Rekursive Methode Programmieren Java Basics - Anfänger-Themen 3
I Spielbrett programmieren: Datenstruktur Java Basics - Anfänger-Themen 3
G Rekursives Programmieren --> harmonische Reihe Java Basics - Anfänger-Themen 3
A Endlich anfangen mit Programmieren ! Java Basics - Anfänger-Themen 8
L Karawane programmieren Java Basics - Anfänger-Themen 0
kokojamboo92 Spiel programmieren Java Basics - Anfänger-Themen 1
E Mastermind programmieren, wie den falschen Platz aber richtige Farbe schecken? Java Basics - Anfänger-Themen 23
steven789hjk543 Erste Schritte java programmieren/ Schritt für Schritt Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben