/* * POLYPHEMUS - A simple Java roguelike. * Copyright (c) 2014-2017, J. Francisco Martín <jfm.lisaso@gmail.com>. */ package jomali.polyphemus.geography; import java.util.Map; /** * El entorno de juego se representa como múltiples matrices de casillas de dos * dimensiones; un conjunto de <em>z</em> planos con coordenadas <em>x</em> e * <em>y</em>. * * * @author J. Francisco Martín * @author Trystan Spangler * @serial 2017/01/24 * */ public class GameMap { /** Representa la matriz de casillas utilizada como entorno de juego. */ private Map<Point, Tile> tiles; /** Ancho de la matriz. */ private int width; /** Alto de la matriz. */ private int height; /** Profundidad de la matriz. */ private int depth; /** * Constructor. Crea un nuevo entorno de juego a partir de los parámetros * dados. * * @param tiles * Mapa con que se representa la matriz de casillas utilizada * como entorno de juego. * @param width * Anchura de los planos del entorno de juego * @param height * Altura de los planos del entorno de juego * @param depth * Número de planos */ public GameMap(Map<Point, Tile> tiles, int width, int height, int depth) { this.tiles = tiles; this.width = width; this.height = height; this.depth = depth; } // ///////////////////////////////////////////////////////////////////////// /** * @return El mapa utilizado para representar la matriz de casillas que * conforma el entorno de juego */ public Map<Point, Tile> getTiles() { return tiles; } /** * @return El ancho de los planos del entorno de juego */ public int getWidth() { return width; } /** * @return El alto de los planos del entorno de juego */ public int getHeight() { return height; } /** * @return El número de planos del entorno de juego */ public int getDepth() { return depth; } /** * Retorna la casilla que ocupa la posición indicada. * * @param x * @param y * @param z * @return Casilla que ocupa la posición <em>(x, y, z)</em> */ public Tile getTile(int x, int y, int z) { return tiles.get(new Point(x, y, z)); } }