Class Grid

java.lang.Object
tetris.tetrominos.Grid

public class Grid extends Object
Ein Blockgitter, das die Positionen aller Blöcke speichert.

Das „Herz“ dieser Klasse ist ein zweidimensionales Array/Feld aus Blöcken.

Author:
Josef Friedrich
  • Constructor Summary

    Constructors
    Constructor
    Description
    Grid(int width, int height)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addBlock(Block block)
    Fügt einen Block zum Blockgitter hinzu.
    void
    Leert das ganze Gitter.
    void
    clearRow(int y)
    Löscht alle Blöcke aus einer Zeile.
     
    int
    Gibt die Höhe des Blockgitters zurück, also die Anzahl der Blöcke in y-Richtung.
    int
    Gibt die Breite des Blockgitters zurück, also die Anzahl der Blöcke in x-Richtung.
    boolean
    isTaken(int x, int y)
    Überprüft, ob die angegebene Koordinate im Blockgitter besetzt ist.
    void
    Gibt eine Textrepräsentation des Blockgitters und der momentan enthaltenen Blöcke aus.
    void
    Entfernt einen Block aus dem Blockgitter.
    void
    Entfernt die Blöcke der vollen Zeilen aus dem Spiel.
    void
    Löst einen Erdrutsch (landslide) aus, das heißt alle Blöcke oberhalb des getilgten Bereichs werden nach unten bewegt.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Grid

      public Grid(int width, int height)
  • Method Details

    • getWidth

      public int getWidth()
      Gibt die Breite des Blockgitters zurück, also die Anzahl der Blöcke in x-Richtung.
      Returns:
      Die Breite des Blockgitters.
    • getHeight

      public int getHeight()
      Gibt die Höhe des Blockgitters zurück, also die Anzahl der Blöcke in y-Richtung.
      Returns:
      Die Höhe des Blockgitters.
    • addBlock

      public void addBlock(Block block)
      Fügt einen Block zum Blockgitter hinzu.
      Parameters:
      block - Der Block, der hinzugefügt werden soll.
    • removeBlock

      public void removeBlock(Block block)
      Entfernt einen Block aus dem Blockgitter.
      Parameters:
      block - Der Block, der entfernt werden soll.
    • isTaken

      public boolean isTaken(int x, int y)
      Überprüft, ob die angegebene Koordinate im Blockgitter besetzt ist.
      Parameters:
      x - Die entsprechende x-Koordinate der zu überprüfenden Position.
      y - Die entsprechende y-Koordinate der zu überprüfenden Position.
      Returns:
      Wahr, wenn die Koordinate besetzt ist, sonst falsch.
    • getFilledRowRange

      public FilledRowRange getFilledRowRange()
    • clearRow

      public void clearRow(int y)
      Löscht alle Blöcke aus einer Zeile.
      Parameters:
      y - Die y-Koordinate der Zeile aus der Blöcke gelöscht werden sollen.
    • clear

      public void clear()
      Leert das ganze Gitter.
      See Also:
    • removeFilledRowRange

      public void removeFilledRowRange(FilledRowRange range)
      Entfernt die Blöcke der vollen Zeilen aus dem Spiel.
      Parameters:
      range - Der getilgte Bereich mit vollen Zeilen.
    • triggerLandslide

      public void triggerLandslide(FilledRowRange range)
      Löst einen Erdrutsch (landslide) aus, das heißt alle Blöcke oberhalb des getilgten Bereichs werden nach unten bewegt.
      Parameters:
      range - Der getilgte Bereich mit vollen Zeilen.
    • print

      public void print()
      Gibt eine Textrepräsentation des Blockgitters und der momentan enthaltenen Blöcke aus.

      Diese Methode ist nur für Testzwecke gedacht.