From cceae491ced7d1c5aacb4a466bdc79e8de367bc7 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Mon, 11 Jan 2010 16:37:05 +0100 Subject: Started Renderer --- src/de/gamezock/metacraft/data/Map.java | 41 ++++++++++++++++++++++++++++ src/de/gamezock/metacraft/data/TestTile.java | 25 +++++++++++++++++ src/de/gamezock/metacraft/data/Tile.java | 13 +++++++++ src/de/gamezock/metacraft/data/TileData.java | 7 +++++ 4 files changed, 86 insertions(+) create mode 100644 src/de/gamezock/metacraft/data/Map.java create mode 100644 src/de/gamezock/metacraft/data/TestTile.java create mode 100644 src/de/gamezock/metacraft/data/Tile.java create mode 100644 src/de/gamezock/metacraft/data/TileData.java (limited to 'src/de/gamezock/metacraft/data') diff --git a/src/de/gamezock/metacraft/data/Map.java b/src/de/gamezock/metacraft/data/Map.java new file mode 100644 index 0000000..e387628 --- /dev/null +++ b/src/de/gamezock/metacraft/data/Map.java @@ -0,0 +1,41 @@ +package de.gamezock.metacraft.data; + +public class Map { + private Tile[][] tiles; + private float[][] heightmap; + + private int width, height; + private int tileSize; + + public Map() { + width = height = 1; + + heightmap = new float[width][height]; + heightmap[0][0] = 0; + + tiles = new Tile[width][height]; + tiles[0][0] = new Tile(new TestTile()); + + tileSize = tiles[0][0].getData().getSize(); + } + + public Tile getTile(int x, int y) { + return tiles[x][y]; + } + + public float getTileHeight(int x, int y) { + return heightmap[x][y]; + } + + public int getWidth() { + return width; + } + + public int getHeight() { + return height; + } + + public int getTileSize() { + return tileSize; + } +} diff --git a/src/de/gamezock/metacraft/data/TestTile.java b/src/de/gamezock/metacraft/data/TestTile.java new file mode 100644 index 0000000..94a2af1 --- /dev/null +++ b/src/de/gamezock/metacraft/data/TestTile.java @@ -0,0 +1,25 @@ +package de.gamezock.metacraft.data; + +public class TestTile extends TileData { + float[][] heightmap; + + public TestTile() { + heightmap = new float[getSize()+1][getSize()+1]; + + for(int i = 0; i < getSize()+1; ++i) { + for(int j = 0; j < getSize()+1; ++j) { + heightmap[i][j] = 1 * ((i+j)%2); + } + } + } + + @Override + public int getSize() { + return 8; + } + + @Override + public float[][] getHeightmap() { + return heightmap; + } +} diff --git a/src/de/gamezock/metacraft/data/Tile.java b/src/de/gamezock/metacraft/data/Tile.java new file mode 100644 index 0000000..718c514 --- /dev/null +++ b/src/de/gamezock/metacraft/data/Tile.java @@ -0,0 +1,13 @@ +package de.gamezock.metacraft.data; + +public class Tile { + TileData tileData; + + public Tile(TileData tileData) { + this.tileData = tileData; + } + + public TileData getData() { + return tileData; + } +} diff --git a/src/de/gamezock/metacraft/data/TileData.java b/src/de/gamezock/metacraft/data/TileData.java new file mode 100644 index 0000000..5a3103a --- /dev/null +++ b/src/de/gamezock/metacraft/data/TileData.java @@ -0,0 +1,7 @@ +package de.gamezock.metacraft.data; + +public abstract class TileData { + public abstract int getSize(); + + public abstract float[][] getHeightmap(); +} -- cgit v1.2.3