L
littleLoser
Gast
Ich hab soweit nun mein Programm fertig, nur leider find ich es etwas komisch das er mir meine eine While schleife einfach überspringt...
Bei dem Programm handet es sich um ein kleines Spiel, es ist ein 8x8 feld, auf den 2 figuren stehen. Beide figuren sammeln die punkte auf den feld ein, die figur mit den meisten punkten, bzw die die 100 punkte hat gewinnt.
soweit so gut...
nachdem Start der Konsole, ist das Spiel auch sofort beendet, der Spieler hat keine möglichkeit einen zu tätigen...
ich schätze mal das er meine while einfach ignoriert die ich mit einem kumpel gemacht habe.
falls noch fragen zu den anderen klassen bestehen, einfach nur fragen ^^;
[/code]
Bei dem Programm handet es sich um ein kleines Spiel, es ist ein 8x8 feld, auf den 2 figuren stehen. Beide figuren sammeln die punkte auf den feld ein, die figur mit den meisten punkten, bzw die die 100 punkte hat gewinnt.
soweit so gut...
nachdem Start der Konsole, ist das Spiel auch sofort beendet, der Spieler hat keine möglichkeit einen zu tätigen...
ich schätze mal das er meine while einfach ignoriert die ich mit einem kumpel gemacht habe.
falls noch fragen zu den anderen klassen bestehen, einfach nur fragen ^^;
Code:
class Max{
//------------------------------------------------------------------------------------------
////Die main-methode
//------------------------------------------------------------------------------------------
public static void main(String[] args) throws Exception {
int richtung; //in welche Richtung der Spieler gehen soll
Spielfeld dasSpielfeld = new Spielfeld(); //Der Standartkonstruktor mit dem 8x8Feld
//Konstruktorspieler, legt Spieler aufs Spielfeld wie auch Spielername und Zeichenbelegung
Spieler spieler1 = new Spieler(1,1, "W", "Spieler1", 3,3);
Spieler spieler2 = new Spieler(1,2, "S", "Spieler2", 4,4);
String spielsteine[] = new String [(Spieler.spielerAnzahl)+1];
spielsteine[1] = spieler1.getSpielstein();
spielsteine[2] = spieler2.getSpielstein();
//Die Punkte auf das Spielfeld setzen
dasSpielfeld.setPunkte(spieler1.getPosX(),spieler1.getPosY(), spieler1.getId());
dasSpielfeld.setPunkte(spieler2.getPosX(),spieler2.getPosY(), spieler2.getId());
//Konsolen ausdruck des Spielfeldes
dasSpielfeld.Ausgeben(spielsteine);
//Solange keiner der beiden Spieler 100 Punkte hat
while((spieler1.getPunkte()<100)&&(spieler2.getPunkte()<100)&&(dasSpielfeld.getRestpunkte()>0)){
//Spieler1 ist am zug
while(true){
try{
System.out.println("In welche Richtung willst du laufen?");
richtung = IO.readInt("");
//SÜDEN
if(richtung==2){
System.out.println("Gehe nach Süden");
if (dasSpielfeld.getPunkte((spieler1.getPosX()+1), (spieler1.getPosY()))<0){
throw new Exception();
}
else{
dasSpielfeld.setPunkte(spieler1.getPosX(), spieler1.getPosY(), 0);
spieler1.Setzen(spieler1.getPosX()+1, spieler1.getPosY());
spieler1.setPunkte(spieler1.getPunkte()+dasSpielfeld.getPunkte(spieler1.getPosX(), spieler1.getPosY()));
dasSpielfeld.setPunkte(spieler1.getPosX(), spieler1.getPosY(), spieler1.getId());
}
}
//NORDEN
if(richtung==8){
System.out.println("Gehe nach Norden");
if(dasSpielfeld.getPunkte((spieler1.getPosX()+-1), (spieler1.getPosY()))<0){
throw new Exception();
}
else {
dasSpielfeld.setPunkte(spieler1.getPosX(), spieler1.getPosY(), 0);
spieler1.Setzen(spieler1.getPosX()+1, spieler1.getPosY());
spieler1.setPunkte(spieler1.getPunkte()+dasSpielfeld.getPunkte(spieler1.getPosX(), spieler1.getPosY()));
dasSpielfeld.setPunkte(spieler1.getPosX(), spieler1.getPosY(), spieler1.getId());
}
}
if(richtung==6){
System.out.println("Gehe nach Osten");
if(dasSpielfeld.getPunkte((spieler1.getPosX()), (spieler1.getPosY()+1))<0){
throw new Exception();
}
else{
dasSpielfeld.setPunkte(spieler1.getPosX(), spieler1.getPosY(), 0);
spieler1.Setzen(spieler1.getPosX(), spieler1.getPosY()+1);
spieler1.setPunkte(spieler1.getPunkte()+dasSpielfeld.getPunkte(spieler1.getPosX(), spieler1.getPosY()));
dasSpielfeld.setPunkte(spieler1.getPosX(), spieler1.getPosY(), spieler1.getId());
}
}
//Westen
if(richtung==4){
System.out.println("Gehe nach Westen");
if(dasSpielfeld.getPunkte((spieler1.getPosX()), (spieler1.getPosY()-1))<0){
throw new Exception();
}
else {
dasSpielfeld.setPunkte(spieler1.getPosX(), spieler1.getPosY(), 0);
spieler1.Setzen(spieler1.getPosX(), spieler1.getPosY()-1);
spieler1.setPunkte(spieler1.getPunkte()+dasSpielfeld.getPunkte(spieler1.getPosX(), spieler1.getPosY()));
dasSpielfeld.setPunkte(spieler1.getPosX(), spieler1.getPosY(), spieler1.getId());
}
}
break;
}
catch(Exception e){
}
}
dasSpielfeld.Ausgeben(spielsteine);
//Spieler2 ist am zug
while(true){
try{
System.out.println("In welche Richtung willst du laufen?");
richtung = IO.readInt("");
//SÜDEN
if(richtung==2){
System.out.println("Gehe nach Süden");
if (dasSpielfeld.getPunkte((spieler2.getPosX()+1), (spieler2.getPosY()))<0){
throw new Exception();
}
else{
dasSpielfeld.setPunkte(spieler2.getPosX(), spieler2.getPosY(), 0);
spieler2.Setzen(spieler2.getPosX()+1, spieler2.getPosY());
spieler2.setPunkte(spieler2.getPunkte()+dasSpielfeld.getPunkte(spieler2.getPosX(), spieler2.getPosY()));
dasSpielfeld.setPunkte(spieler2.getPosX(), spieler2.getPosY(), spieler2.getId());
}
}
//NORDEN
if(richtung==8){
System.out.println("Gehe nach Norden");
if(dasSpielfeld.getPunkte((spieler2.getPosX()+-1), (spieler2.getPosY()))<0){
throw new Exception();
}
else {
dasSpielfeld.setPunkte(spieler2.getPosX(), spieler2.getPosY(), 0);
spieler2.Setzen(spieler2.getPosX()+1, spieler2.getPosY());
spieler2.setPunkte(spieler2.getPunkte()+dasSpielfeld.getPunkte(spieler2.getPosX(), spieler2.getPosY()));
dasSpielfeld.setPunkte(spieler2.getPosX(), spieler2.getPosY(), spieler2.getId());
}
}
if(richtung==6){
System.out.println("Gehe nach Osten");
if(dasSpielfeld.getPunkte((spieler2.getPosX()), (spieler2.getPosY()+1))<0){
throw new Exception();
}
else{
dasSpielfeld.setPunkte(spieler1.getPosX(), spieler2.getPosY(), 0);
spieler2.Setzen(spieler2.getPosX(), spieler2.getPosY()+1);
spieler2.setPunkte(spieler2.getPunkte()+dasSpielfeld.getPunkte(spieler2.getPosX(), spieler2.getPosY()));
dasSpielfeld.setPunkte(spieler2.getPosX(), spieler2.getPosY(), spieler2.getId());
}
}
//Westen
if(richtung==4){
System.out.println("Gehe nach Westen");
if(dasSpielfeld.getPunkte((spieler2.getPosX()), (spieler2.getPosY()-1))<0){
throw new Exception();
}
else {
dasSpielfeld.setPunkte(spieler2.getPosX(), spieler2.getPosY(), 0);
spieler1.Setzen(spieler2.getPosX(), spieler2.getPosY()-1);
spieler1.setPunkte(spieler2.getPunkte()+dasSpielfeld.getPunkte(spieler2.getPosX(), spieler2.getPosY()));
dasSpielfeld.setPunkte(spieler2.getPosX(), spieler2.getPosY(), spieler2.getId());
}
}
break;
}
catch(Exception e){
}
}
dasSpielfeld.Ausgeben(spielsteine);
System.out.println(spieler1.getPunkte());
System.out.println(spieler2.getPunkte());
}//while
//Wer hat gewonnen?
if(spieler1.getPunkte()>spieler2.getPunkte()){
System.out.println(spieler1.getName() +" hat gewonnen");
}
//if(spieler1.getPunkte()<spieler2.getPunkte()) {
else {
System.out.println(spieler2.getName() + " hat gewonnen");
}
}//end main
}//end