Ich bin derzeit mit meiner Klasse daran ein kleines "Spiel" in Java zu programmieren. Ich bin erst in den ersten Monat mit Java am arbeiten und kenne mich deshalb nicht sehr gut aus. In dem Spiel geht es darum das die 2 Tiere welche man vorher bestimmt (durch eingabe) die gegeneinander kämpfen sollen. Dabei werden Stärkepunkte bestimmt um die Stärke des Tieres zu bemessen. Da es 4 Tiere sind habe ich mit Switch Case gearbeitet. Damit man mehrere Eingaben hat (falls man sich bei der Eingabe verschreibt) habe ich eine "For" Schleife bei beiden Switch Cases benutzt. Alles funktionierte problemlos. Nun aber wird die 3 Switch Case nicht "ausgeführt" wenn ich eine For Schleife benutze. Ohne funktioniert es aber das nützt mir nicht viel da das Spiel so lange gehen soll bis eines der beiden Tiere 0 Punkte erreicht hat. Ich weiß nicht warum die dritte Schleife nicht die dritte Switch Case nicht "startet". Nach der Eingabe der Tiere passiert mit Schleife einfach gar nichts. Was habe ich falsch gemacht? Wir sollten übrigens ein wenig in die Objektorientierung einsteigen was mir nicht wirklich gelungen ist. Habe aber zwei Dateien erstellt.
Code der Haupt Datei:
Code der Ausführer Datei:
Code der Haupt Datei:
Java:
public class Tier {
// Anfang Attribute
private String art;
private int staerkepunkt;
private double gewicht;
private String wohnraum;
// Ende Attribute
public Tier(double pGewicht) {
this.art = "";
this.staerkepunkt = 0;
this.gewicht = 0;
this.wohnraum = "";
}
// Anfang Methoden
public String getArt() {
return art;
}
public void setArt(String art) {
this.art = art;
}
public int getStaerkepunkt() {
return staerkepunkt;
}
public void setStaerkepunkt(int staerkepunkt) {
this.staerkepunkt = staerkepunkt;
}
public double getGewicht() {
return gewicht;
}
public void setGewicht(double gewicht) {
this.gewicht = gewicht;
}
public String getWohnraum() {
return wohnraum;
}
public void setWohnraum(String wohnraum) {
this.wohnraum = wohnraum;
}
// Ende Methoden
} // end of Tier
Code der Ausführer Datei:
Java:
import java.util.*;
public class UITier {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Random zufall = new Random();
Tier Gorilla = new Tier(0);
Tier Elefant = new Tier(0);
Tier Hai = new Tier(0);
Tier Tintenfisch = new Tier(0);
// Gewicht der Tiere
Gorilla.setGewicht(160);
Elefant.setGewicht(4700);
Hai.setGewicht(890);
Tintenfisch.setGewicht(15);
// Wohnraum der Tiere
Gorilla.setWohnraum("Land");
Elefant.setWohnraum("Land");
Hai.setWohnraum("Wasser");
Tintenfisch.setWohnraum("Wasser");
// Art der Tiere
Gorilla.setArt("Landtier");
Elefant.setArt("Landtier");
Hai.setArt("Wassertier");
Tintenfisch.setArt("Wassertier");
// Stärkepunkte werden generiert
int stärke1,stärke2;
stärke1 = zufall.nextInt(10) +1;
stärke2 = zufall.nextInt(10) +1;
// Zufallszahlen für's Essen werden generiert
int fressen1,fressen2;
fressen1 = zufall.nextInt(6) +1;
fressen2 = zufall.nextInt(6) +1;
// Zum Ausgeben
int ausgeber = 0;
// Punkte werden erstellt
int punkte1,punkte2;
punkte1 = 5;
punkte2 = 5;
// Art der Tiere wird bestimmt
String Art1 = "Gorilla";
String Art2 = "Elefant";
String Art3 = "Hai";
String Art4 = "Tintenfisch";
// Lückenfüller
String eingabe1 = "";
String eingabe2 = "";
// Textausgaben
System.out.println("////Die Insel////");
System.out.println();
System.out.println("Es gibt 4 verschiedene Tiere die gegeneinander kämpfen können");
System.out.println("Gorilla,Elefant,Hai und Tintenfisch");
System.out.println("Die ausgewählten Tiere haben zu Anfang 5 Punkte");
System.out.println("Welches der beiden ausgewählten Tiere zuerst 0 Punkte erreicht hat verliert!");
System.out.println("Welches Tiere soll gegen einander antreten?");
// Eingabe des ersten Tieres
for (int j=0;j<5;j++) {
System.out.print("Art 1: ");
eingabe1 = input.next();
System.out.println();
switch (eingabe1) {
case "Gorilla":
if (eingabe1.equals(Art1)) {
Gorilla.setStaerkepunkt(stärke1);
System.out.println("Name des Tieres: " +eingabe1);
System.out.println("Tierart: " +Gorilla.getArt());
System.out.println("Stärkepunkte: " +Gorilla.getStaerkepunkt());
System.out.println("Gewicht: " +Gorilla.getGewicht() +" Kg");
System.out.println("Wohnraum: " +Gorilla.getWohnraum());
j = 6;
} // end of if
break;
case "Elefant":
if (eingabe1.equals(Art2)) {
Elefant.setStaerkepunkt(stärke1);
System.out.println("Name des Tieres: " +eingabe1);
System.out.println("Tierart: " +Elefant.getArt());
System.out.println("Stärkepunkte: " +Elefant.getStaerkepunkt());
System.out.println("Gewicht: " +Elefant.getGewicht() +" Kg");
System.out.println("Wohnraum: " +Elefant.getWohnraum());
j = 6;
} // end of if
break;
case "Hai":
if (eingabe1.equals(Art3)) {
Hai.setStaerkepunkt(stärke1);
System.out.println("Name des Tieres: " +eingabe1);
System.out.println("Tierart: " +Hai.getArt());
System.out.println("Stärkepunkte: " +Hai.getStaerkepunkt());
System.out.println("Gewicht: " +Hai.getGewicht() +" Kg");
System.out.println("Wohnraum: " +Hai.getWohnraum());
j = 6;
} // end of if
break;
case "Tintenfisch":
if (eingabe1.equals(Art4)) {
Tintenfisch.setStaerkepunkt(stärke1);
System.out.println("Name des Tieres: " +eingabe1);
System.out.println("Tierart: " +Tintenfisch.getArt());
System.out.println("Stärkepunkte: " +Tintenfisch.getStaerkepunkt());
System.out.println("Gewicht: " +Tintenfisch.getGewicht() +" Kg");
System.out.println("Wohnraum: " +Tintenfisch.getWohnraum());
j = 6;
} // end of if
break;
default:
System.out.print("Falsche Eingabe!");
System.out.println();
} // end of switch
if (j == 4) {
System.exit(0);
} // end of if
} // end of for
// Aufforderung der Eingabe eines weiten Tieres
System.out.println();
System.out.println("Wähle noch ein weiteres Tier aus");
// Eingabe des zweiten Tieres
for (int b=0;b<5;b++) {
System.out.print("Art 2: ");
eingabe2 = input.next();
System.out.println();
switch (eingabe2) {
case "Gorilla":
if (eingabe2.equals(Art1)) {
Gorilla.setStaerkepunkt(stärke2);
System.out.println("Name des Tieres: " +eingabe2);
System.out.println("Tierart: " +Gorilla.getArt());
System.out.println("Stärkepunkte: " +Gorilla.getStaerkepunkt());
System.out.println("Gewicht: " +Gorilla.getGewicht() +" Kg");
System.out.println("Wohnraum: " +Gorilla.getWohnraum());
b = 6;
} // end of if
break;
case "Elefant":
if (eingabe2.equals(Art2)) {
Elefant.setStaerkepunkt(stärke2);
System.out.println("Name des Tieres: " +eingabe2);
System.out.println("Tierart: " +Elefant.getArt());
System.out.println("Stärkepunkte: " +Elefant.getStaerkepunkt());
System.out.println("Gewicht: " +Elefant.getGewicht() +" Kg");
System.out.println("Wohnraum: " +Elefant.getWohnraum());
b = 6;
} // end of if
break;
case "Hai":
if (eingabe2.equals(Art3)) {
Hai.setStaerkepunkt(stärke2);
System.out.println("Name des Tieres: " +eingabe2);
System.out.println("Tierart: " +Hai.getArt());
System.out.println("Stärkepunkte: " +Hai.getStaerkepunkt());
System.out.println("Gewicht: " +Hai.getGewicht() +" Kg");
System.out.println("Wohnraum: " +Hai.getWohnraum());
b = 6;
} // end of if
break;
case "Tintenfisch":
if (eingabe2.equals(Art4)) {
Tintenfisch.setStaerkepunkt(stärke2);
System.out.println("Name des Tieres: " +eingabe2);
System.out.println("Tierart: " +Tintenfisch.getArt());
System.out.println("Stärkepunkte: " +Tintenfisch.getStaerkepunkt());
System.out.println("Gewicht: " +Tintenfisch.getGewicht() +" Kg");
System.out.println("Wohnraum: " +Tintenfisch.getWohnraum());
b = 6;
} // end of if
break;
default:
System.out.print("Falsche Eingabe!");
System.out.println();
} // end of switch
if (b == 4) {
System.exit(0);
} // end of if
} // end of for
// Fehler ausgabe wenn Stärkepunkte gleich sind
if (stärke1 == stärke2) {
System.out.println();
System.out.println("Die Stärkepunkte von " +eingabe1 +" und " +eingabe2 +" sind identisch!" );
System.out.println("Es wird erneut ´´gewürfelt´´ ");
stärke1 = 0;
stärke2 = 0;
stärke1 = zufall.nextInt(10) +1;
stärke2 = zufall.nextInt(10) +1;
System.out.println("Neue Stärkepunkte für " +eingabe1 +" : " +stärke1);
System.out.println("Neue Stärkepunkte für " +eingabe2 +" : " +stärke2);
} // end of if
// Spiel beginnt
System.out.println();
System.out.println("////////////////////////////////////////////////////////////////////////////////");
System.out.println();
System.out.println("Das Spiel beginnt!");
System.out.println(eingabe1 +" gegen " +eingabe2 +"!");
// Ablauf des Spiels
for (int counter = 0 ;counter>9;counter++ ) {
switch (eingabe1) {
case "Gorilla":
if (stärke1 > stärke2) {
System.out.println();
System.out.println("Gorilla hat gewonnen!");
System.out.println(eingabe2 +" muss nun fressen");
if (fressen2 > 3) {
ausgeber = stärke2 + 2;
System.out.println(eingabe2 +" hat nun " +ausgeber +" statt " +stärke2 +" Stärkepunkte!");
} // end of if
else {
punkte2 = punkte2 - 1;
System.out.println(eingabe2 +" hat einen Punkt verloren!");
} // end of if-else
} // end of if
if (stärke1 < stärke2) {
System.out.println();
System.out.println(eingabe2 +" hat gewonnen!");
System.out.println(eingabe1 +" muss nun fressen");
if (fressen1 < 4) {
ausgeber = stärke1 + 2;
System.out.println(eingabe1 +" hat nun " +ausgeber +" statt " +stärke1 +" Stärkepunkte!");
} // end of if
else {
punkte1 = punkte1 - 1;
System.out.println(eingabe1 +" hat einen Punkt verloren");
} // end of if-else
} // end of if
System.out.println();
System.out.println("Punktestand:");
System.out.println(eingabe1 +" hat " +punkte1 +" Punkte");
System.out.println(eingabe2 +" hat " +punkte2 +" Punkte");
break;
case "Elefant":
if (stärke1 > stärke2) {
System.out.println();
System.out.println("Elefant hat gewonnen!");
System.out.println(eingabe2 +" muss nun fressen");
if (fressen2 > 3) {
ausgeber = stärke2 + 2;
System.out.println(eingabe2 +" hat nun " +ausgeber +" statt " +stärke2 +" Stärkepunkte!");
} // end of if
else {
punkte2 = punkte2 - 1;
System.out.println(eingabe2 +" hat einen Punkt verloren!");
} // end of if-else
} // end of if
if (stärke1 < stärke2) {
System.out.println();
System.out.println(eingabe2 +" hat gewonnen!");
System.out.println(eingabe1 +" muss nun fressen");
if (fressen1 < 4) {
ausgeber = stärke1 + 2;
System.out.println(eingabe1 +" hat nun " +ausgeber +" statt " +stärke1 +" Stärkepunkte!");
} // end of if
else {
punkte1 = punkte1 - 1;
System.out.println(eingabe1 +" hat einen Punkt verloren");
} // end of if-else
} // end of if
System.out.println();
System.out.println("Punktestand:");
System.out.println(eingabe1 +" hat " +punkte1 +" Punkte");
System.out.println(eingabe2 +" hat " +punkte2 +" Punkte");
break;
case "Hai":
if (stärke1 > stärke2) {
System.out.println();
System.out.println("Hai hat gewonnen!");
System.out.println(eingabe2 +" muss nun fressen");
if (fressen2 > 3) {
ausgeber = stärke2 + 2;
System.out.println(eingabe2 +" hat nun " +ausgeber +" statt " +stärke2 +" Stärkepunkte!");
} // end of if
else {
punkte2 = punkte2 - 1;
System.out.println(eingabe2 +" hat einen Punkt verloren!");
} // end of if-else
} // end of if
if (stärke1 < stärke2) {
System.out.println();
System.out.println(eingabe2 +" hat gewonnen!");
System.out.println(eingabe1 +" muss nun fressen");
if (fressen1 < 4) {
ausgeber = stärke1 + 2;
System.out.println(eingabe1 +" hat nun " +ausgeber +" statt " +stärke1 +" Stärkepunkte!");
} // end of if
else {
punkte1 = punkte1 - 1;
System.out.println(eingabe1 +" hat einen Punkt verloren");
} // end of if-else
} // end of if
System.out.println();
System.out.println("Punktestand:");
System.out.println(eingabe1 +" hat " +punkte1 +" Punkte");
System.out.println(eingabe2 +" hat " +punkte2 +" Punkte");
break;
case "Tintenfisch":
if (stärke1 > stärke2) {
System.out.println();
System.out.println("Tintenfisch hat gewonnen!");
System.out.println(eingabe2 +" muss nun fressen");
if (fressen2 > 3) {
ausgeber = stärke2 + 2;
System.out.println(eingabe2 +" hat nun " +ausgeber +" statt " +stärke2 +" Stärkepunkte!");
} // end of if
else {
punkte2 = punkte2 - 1;
System.out.println(eingabe2 +" hat einen Punkt verloren!");
} // end of if-else
} // end of if
if (stärke1 < stärke2) {
System.out.println();
System.out.println(eingabe2 +" hat gewonnen!");
System.out.println(eingabe1 +" muss nun fressen");
if (fressen1 < 4) {
ausgeber = stärke1 + 2;
System.out.println(eingabe1 +" hat nun " +ausgeber +" statt " +stärke1 +" Stärkepunkte!");
} // end of if
else {
punkte1 = punkte1 - 1;
System.out.println(eingabe1 +" hat einen Punkt verloren");
} // end of if-else
} // end of if
System.out.println();
System.out.println("Punktestand:");
System.out.println(eingabe1 +" hat " +punkte1 +" Punkte");
System.out.println(eingabe2 +" hat " +punkte2 +" Punkte");
default:
} // end of main
} } // end of for
} // end of class UITier