Package pi.actor

Class LetterTileMap

java.lang.Object
pi.actor.LetterTileMap

public class LetterTileMap extends Object
Ein Kachelsatz (tile map), bei dem die einzelnen Kacheln (tile) durch Buchstaben (letter) repräsentiert sind.

Die Größe der Kachel wird auf 1 x 1 Pixelmeter und die linke oberen Ecke an die Position -0.5 x 0.5 im Engine-Pi-Koordinatensystem gesetzt, sodass zum Beispiel (0,0) die Mitte der ersten Kachel (links oben) adressiert.

Since:
0.26.0
Author:
Josef Friedrich
  • Field Details

    • container

      public TileRegistration container
    • width

      public int width
      Die Breite des Kachelsatzes, d. h. die Anzahl der Kacheln in der x-Richtung.
    • height

      public int height
      Die Höhe des Kachelsatzes, d. h. die Anzahl der Kacheln in der y-Richtung.
    • letterMap

      protected char[][] letterMap
    • letters

      protected HashSet<Character> letters
      Um doppelte Buchstaben zu verhindern.
    • names

      protected HashMap<Character,String> names
      Ein Speicher für einprägsamere Namen für eine Kachel als nur der Buchstabe.
    • namesToLetter

      protected HashMap<String,Character> namesToLetter
    • obstacles

      protected HashSet<Character> obstacles
    • pathPrefix

      protected String pathPrefix
    • extension

      protected String extension
  • Constructor Details

    • LetterTileMap

      public LetterTileMap(int width, int height)
      Parameters:
      width - Die Breite des Kachelsatzes, d. h. die Anzahl der Kacheln in der x-Richtung.
      height - Die Höhe des Kachelsatzes, d. h. die Anzahl der Kacheln in der y-Richtung.
    • LetterTileMap

      public LetterTileMap(int width, int height, String pathPrefix)
      Parameters:
      width - Die Breite des Kachelsatzes, d. h. die Anzahl der Kacheln in der x-Richtung.
      height - Die Höhe des Kachelsatzes, d. h. die Anzahl der Kacheln in der y-Richtung.
    • LetterTileMap

      public LetterTileMap(int width, int height, String pathPrefix, String extension)
      Parameters:
      width - Die Breite des Kachelsatzes, d. h. die Anzahl der Kacheln in der x-Richtung.
      height - Die Höhe des Kachelsatzes, d. h. die Anzahl der Kacheln in der y-Richtung.
      pathPrefix -
      extension - Die Dateiendung der Bild-Dateien, die als Kacheln verwendet werden.
  • Method Details

    • assembleFilePath

      protected String assembleFilePath(String filePath)
    • createTile

      protected void createTile(char letter, String filePath)
    • tileFromCache

      @Getter protected Tile tileFromCache(int x, int y)
      Parameters:
      x - Die x-Position im Kachelgitter. 0 adressiert die erste, (ganz am linken Rand gelegene) Spalte.
      y - Die y-Position im Kachelgitter. 0 adressiert die erste, (oberste) Zeile.
    • name

      @Setter protected final void name(char letter, String name)
    • checkLetterUnset

      protected final void checkLetterUnset(char letter)
    • registerImage

      public final void registerImage(char letter, String filePath, String name)
    • registerImage

      public final void registerImage(char letter, String filePath)
    • letter

      @Getter public final char letter(int x, int y)
      Parameters:
      x - Die x-Position im Kachelgitter. 0 adressiert die erste, (ganz am linken Rand gelegene) Spalte.
      y - Die y-Position im Kachelgitter. 0 adressiert die erste, (oberste) Zeile.
    • existsTile

      protected final boolean existsTile(char tile)
      Überprüfe, ob ein Buchstabe, der eine Kachel repräsentiert, bereits registiert ist.
      Parameters:
      tile - Der Buchstabe, der für ein bestimmtes Kachelbild registiert wurde.
    • checkWidth

      protected final void checkWidth(String row)
      Throws:
      IllegalArgumentException
    • checkHeight

      protected final void checkHeight(String[] rows)
      Throws:
      IllegalArgumentException
    • checkLetter

      protected final void checkLetter(char letter)
      Throws:
      IllegalArgumentException
    • parseMap

      public final void parseMap(String[] rows)
    • fill

      public final void fill(char tile)
      Setze ein und dieselbe Kachel auf alle Positionen im Kachelgitter.
      Parameters:
      tile - Der Buchstabe, der für ein bestimmtes Kachelbild registiert wurde.
    • tile

      @Setter public void tile(int x, int y, char tile)
      Parameters:
      x - Die x-Position im Kachelgitter. 0 adressiert die erste, (ganz am linken Rand gelegene) Spalte.
      y - Die y-Position im Kachelgitter. 0 adressiert die erste, (oberste) Zeile.
      tile - Der Buchstabe, der für ein bestimmtes Kachelbild registiert wurde.
    • row

      @Setter public final void row(int y, String row)
      Setzt die Kacheln in einer Zeile von links nach rechts.
      Parameters:
      y - Die y-Position im Kachelgitter. 0 adressiert die erste, (oberste) Zeile.
      row - Die Buchstabenabfolge für die Reihe y.
    • column

      @Setter public final void column(int x, String column)
      Setzt die Kacheln in einer Spalte von oben nach unten.
      Parameters:
      x - Die x-Position im Kachelgitter. 0 adressiert die erste, (ganz am linken Rand gelegene) Spalte.
      column - Die Buchstabenabfolge für die Spalte x.
    • position

      @Setter public void position(int x, int y)