public class LABYRINTH
{
//Attribute
int breite;
int hoehe;
int mampfiStartX;
int mampfiStartY;
int monsterStartX[];
int monsterStartY[];
//Referenzattribute
ZELLE[][] spielFlaeche;
//Konstruktor
LABYRINTH (int breiteNeu, int hoeheNeu)
{
breite = breiteNeu;
hoehe = hoeheNeu;
spielFlaeche = new ZELLE[breite][hoehe];
for (int zaehlerY = 0; zaehlerY<hoehe-1; zaehlerY = zaehlerY+1)
{
for (int zaehlerX = 0; zaehlerX<breite-1; zaehlerX = zaehlerX+1)
{
spielFlaeche[zaehlerX][zaehlerY] = new ZELLE(zaehlerX, zaehlerY);
}
}
mampfiStartX = 0;
mampfiStartY = 0;
spielFlaeche[mampfiStartX][mampfiStartY].KruemelEntfernen();
}
LABYRINTH()
{
breite = 10;
hoehe = 10;
spielFlaeche = new ZELLE[breite][hoehe];
for(int zaehlerX = 0; zaehlerX < 10; zaehlerX = zaehlerX+1)
{
for(int zaehlerY = 0; zaehlerY < 10; zaehlerY = zaehlerY+1)
{
spielFlaeche[zaehlerX][zaehlerY] = new ZELLE(zaehlerX,zaehlerY);
}
}
mampfiStartX = 0;
mampfiStartY = 0;
spielFlaeche[mampfiStartX][mampfiStartY].KruemelEntfernen();
GaengeErstellen(1,2);
GaengeErstellen(7,2);
GaengeErstellen(1,3);
GaengeErstellen(2,3);
GaengeErstellen(6,3);
GaengeErstellen(7,3);
GaengeErstellen(1,4);
GaengeErstellen(3,4);
GaengeErstellen(5,4);
GaengeErstellen(7,4);
GaengeErstellen(1,5);
GaengeErstellen(7,5);
GaengeErstellen(1,6);
GaengeErstellen(4,6);
GaengeErstellen(7,6);
GaengeErstellen(1,7);
GaengeErstellen(7,7);
PowerKruemelVerteilen(2,2);
PowerKruemelVerteilen(6,2);
PowerKruemelVerteilen(4,7);
monsterStartX = new int [4];
monsterStartY = new int [4];
monsterStartX[0] = 9;
monsterStartY[0] = 9;
monsterStartX[1] = 9;
monsterStartY[1] = 8;
monsterStartX[2] = 8;
monsterStartY[2] = 9;
monsterStartX[3] = 8;
monsterStartY[3] = 8;
}
//Methoden
void GaengeErstellen (int positionX, int positionY)
{
spielFlaeche[positionX][positionY].IstMauerSetzen(true);
}
void PowerKruemelVerteilen (int positionX, int positionY)
{
spielFlaeche[positionX][positionY].PowerKruemelVerteilen();
}
int BreiteGeben()
{
return breite;
}
int HoeheGeben()
{
return hoehe;
}
boolean IstMauerAufZelle(int positionX, int positionY)
{
return spielFlaeche[positionX][positionY].IstMauerGeben();
}
int MampfiStartXGeben()
{
return mampfiStartX;
}
int MampfiStartYGeben()
{
return mampfiStartY;
}
char KruemelbelegungAnzeigen(int positionX, int positionY)
{
return spielFlaeche[positionX][positionY].KruemelbelegungAnzeigen();
}
void KruemelEntfernen(int positionX, int positionY)
{
spielFlaeche[positionX][positionY].KruemelEntfernen();
}
int MonsterPositionXGeben(int monsterNummer)
{
return monsterStartX[monsterNummer];
}
int MonsterPositionYGeben(int monsterNummer)
{
return monsterStartY[monsterNummer];
}
boolean IstKruemelAufZelle (int positionX, int positionY)
{
return spielFlaeche[positionX][positionY].IstKruemelGeben();
}
boolean SindAlleKruemelGefressen()
{
for (int zaehlerX = 0; zaehlerX == breite-1; zaehlerX++)
{
for (int zaehlerY = 0; zaehlerY == hoehe-1; zaehlerY++)
{
if (IstKruemelAufZelle(zaehlerX, zaehlerY))
{
System.out.println("Feld[" + zaehlerX + "," + zaehlerY + "] -> Krümel gefunden" );
return false;
}
System.out.println("Feld[" + zaehlerX + "," + zaehlerY + "] -> kein Krümel gefunden" );
}
}
return true;
}
}