Ja genau! ich habe ein 14x8 Tiles, die zusammen die Spielfläche ergeben.
[code=Java]
package pp2013.gruppe12.shared;
import java.awt.Point;
import java.io.Serializable;
public class Map implements Serializable{
private Tile [][] map;
public static final int HEIGHT=8;
public static final int WIDTH=14;
public static final int HOUSE1=2;//x coordinate of the first house
public static final int HOUSE2=5;
public static final int HOUSE3=8;
public static final int HOUSE4=11;
/**
* This method creates a new Tile Map and
* sets the tildID first am EMPTY and then the houses in the right places
*/
public Map(){
map = new Tile [HEIGHT][WIDTH];
for(int i=0; i<WIDTH; i++){
for (int j=0; j<HEIGHT; j++){
Tile tile= new Tile(Tile.EMPTY);
tile.setCoordinates(i, j);
setTile(i,j,tile);
}
}
setHouses();
setMyPosition();
setInvaders();
}
public Tile [][] getMap(){
return map;
}
public Tile getTile(int x, int y){
return map [y][x];
}
public void setTile(int x, int y, Tile tile){
map[y][x]=tile;
}
public void setTile(int x, int y, int tileID){
getTile(x,y).setTileID(tileID);
}
/**
* This method sets the Houses in the right positions.
*/
public void setHouses(){
setTile(2,6,Tile.HOUSE);
setTile(5,6,Tile.HOUSE);
setTile(8,6,Tile.HOUSE);
setTile(11,6,Tile.HOUSE);
}
public Point getTilePosition(int tileID){
for(int i=0; i<WIDTH; i++){
for (int j=0; j<HEIGHT; j++){
if(getTile(i,j).getTileID()==tileID){
return new Point(i,j);
}
}
}
return null;
}
public void setMyPosition(){
setTile(0,7,2);
}
public void setInvaders(){
for(int i=2; i<12;i++){
for(int j=1; j<5; j++){
setTile(i,j,Tile.INVADERS);
}
}
}
}
[/code]
[code=Java]
package pp2013.gruppe12.shared;
import java.awt.Point;
import java.io.Serializable;
public class Tile implements Serializable{
private int x;
private int y;
private int tileID;
public static final int EMPTY = 0;
public static final int HOUSE = 1;
public static final int MYPOSITION=2;
public static final int INVADERS = 3;
public static final int SHOT=4;
public static final int EXPLOSION=5;
public static final int BOMB=6;
public static final int GAMEOVER=7;
public Tile(int tileID){
this.tileID=tileID;
}
public void setCoordinates(int x, int y){
this.x=x;
this.y=y;
}
public Point getCoordinates(){
return new Point(x,y);
}
public int getTileID(){
return tileID;
}
public void setTileID(int tileID){
this.tileID=tileID;
}
}
[/code]