import java.awt.*; /** * Beschreiben Sie hier die Klasse Labyrinth. * * @author (Ihr Name) * @version (eine Versionsnummer oder ein Datum) */ public class Labyrinth extends GameObject { private static final int[][] MAP = { {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1}, {1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1}, {1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1, 0, 2, 2, 2, 0, 1, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1}, {1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1}, {1, 2, 2, 2, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 2, 2, 2, 1}, {1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1}, {1, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 1}, {1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1}, {1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1}, {1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 1, 2, 1, 2, 1}, {1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1}, {1, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1}, {1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1}, {1, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1}, {1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1}, {1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} }; private final int SpielobjektGröße; Spielobjekt[][]Spielobjekte; Labyrinth(int SpielobjektGröße){ this.SpielobjektGröße = SpielobjektGröße; Spielobjekte = new Spielobjekt[MAP.length][MAP[0].length]; zuruecksetzen(); } public void zuruecksetzen(){ for(int y = 0; y < getHöhe(); y++){ for(int x = 0; x < getBreite(); x++){ int SpielobjektID = MAP[y][x]; if(SpielobjektID == 0){ Spielobjekte[y][x] = new Nichts(x,y); }else if(SpielobjektID == 1){ Spielobjekte[y][x] = new Block(x,y); }else if(SpielobjektID == 2){ Spielobjekte[y][x] = new Punkt(x,y); } } } } public void render(Graphics2D g, int SpielobjektGröße){ for(Spielobjekt[] row: Spielobjekte){ for(Spielobjekt spielobjekt: row){ spielobjekt.render(g, SpielobjektGröße); } } } public int PunkteZaehler(){ int sum = 0; for (Spielobjekt[] reihe : Spielobjekte){ for (Spielobjekt spielobjekt : reihe){ if (spielobjekt instanceof Punkt){ sum++; } } } return sum; } public boolean isFrei(int x, int y){ if(x < 0){ return false; }else if(y < 0){ return false; }else if(x >= getBreite()){ return false; }else if(y >= getHöhe()){ return false; } return !(Spielobjekte[y][x] instanceof Block); } public int getBreite(){ return Spielobjekte[0].length; } public int getHöhe(){ return Spielobjekte.length; } public int getSpielobjektGröße(){ return SpielobjektGröße; } public Spielobjekt getSpielobjekt(int x, int y){ return Spielobjekte[y][x]; } public void setSpielobjekt(int x, int y, Spielobjekt spielobjekt){ Spielobjekte[y][x] = spielobjekt; } }