Added a Gaia player and added some random stones
This commit is contained in:
parent
397fb7ebd0
commit
65747bd267
40 changed files with 1316 additions and 45 deletions
|
|
@ -5,6 +5,11 @@ import ei.engine.math.Vector2i;
|
|||
import ei.engine.math.Vector3f;
|
||||
import ei.engine.scene.Node;
|
||||
import ei.engine.scene.Sprite;
|
||||
import ei.game.gamestate.InGameState;
|
||||
import ei.game.player.GaiaPlayer;
|
||||
import ei.game.player.Player;
|
||||
import ei.game.player.PlayerHandler;
|
||||
import ei.game.scene.map.Stone;
|
||||
|
||||
public class Map {
|
||||
private static final int POS_SIZE = 50;
|
||||
|
|
@ -16,10 +21,10 @@ public class Map {
|
|||
public Map(int w, int h){
|
||||
this.width = w;
|
||||
this.hight = h;
|
||||
init();
|
||||
//init();
|
||||
}
|
||||
|
||||
private void init(){
|
||||
public void init(){
|
||||
map = new GameEntity[width][hight];
|
||||
|
||||
// init textures
|
||||
|
|
@ -32,6 +37,12 @@ public class Map {
|
|||
mapNode.add(s);
|
||||
}
|
||||
}
|
||||
|
||||
Player gaia = new GaiaPlayer();
|
||||
PlayerHandler.getInstance().addPlayer(gaia);
|
||||
for(int i=0; i<5 ;i++){
|
||||
gaia.addUnit(new Stone(new Vector2i((int)(Math.random()*width),(int)(Math.random()*hight)),gaia));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
50
src/ei/game/scene/map/MapEntity.java
Normal file
50
src/ei/game/scene/map/MapEntity.java
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
package ei.game.scene.map;
|
||||
|
||||
import ei.engine.math.Vector2f;
|
||||
import ei.engine.math.Vector2i;
|
||||
import ei.engine.scene.Entity;
|
||||
import ei.game.gamestate.InGameState;
|
||||
import ei.game.player.Player;
|
||||
import ei.game.scene.SelectBox;
|
||||
import ei.game.scene.units.Unit;
|
||||
import ei.game.scene.weapons.Weapon;
|
||||
|
||||
public abstract class MapEntity extends Unit{
|
||||
|
||||
public MapEntity(int l, Vector2i pos, Player p) {
|
||||
super(l, pos, p);
|
||||
}
|
||||
|
||||
public void update() {
|
||||
if(getLife()<=0) {
|
||||
removeUnit();
|
||||
}
|
||||
}
|
||||
|
||||
protected void move(int x, int y, boolean b) {}
|
||||
|
||||
public void setSelected(boolean b) {}
|
||||
|
||||
public void setMouseOver(boolean b) {}
|
||||
|
||||
@Override
|
||||
public float getVelocity() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Weapon getWeapon(Vector2f startPos) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroyed() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SelectBox getSelection() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
35
src/ei/game/scene/map/Stone.java
Normal file
35
src/ei/game/scene/map/Stone.java
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
package ei.game.scene.map;
|
||||
|
||||
import ei.engine.math.Vector2f;
|
||||
import ei.engine.math.Vector2i;
|
||||
import ei.engine.scene.Entity;
|
||||
import ei.engine.scene.Sprite;
|
||||
import ei.game.player.Player;
|
||||
|
||||
public class Stone extends MapEntity{
|
||||
private static final String[] img = {
|
||||
"data/map/stone/stone0000.png",
|
||||
"data/map/stone/stone0001.png",
|
||||
"data/map/stone/stone0002.png",
|
||||
"data/map/stone/stone0003.png",
|
||||
"data/map/redstone/redstone0000.png",
|
||||
"data/map/redstone/redstone0001.png",
|
||||
"data/map/redstone/redstone0002.png",
|
||||
"data/map/redstone/redstone0003.png"
|
||||
};
|
||||
|
||||
private Sprite stone;
|
||||
|
||||
public Stone(Vector2i pos, Player p) {
|
||||
super(10000, pos, p);
|
||||
stone = new Sprite("Stone",img[(int)(Math.random()*img.length)]);
|
||||
stone.setSize(new Vector2f(40,40));
|
||||
getNode().add(stone);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getSprite() {
|
||||
return stone;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -17,7 +17,7 @@ public class APU extends Unit{
|
|||
|
||||
public APU(int x, int y, Player p){
|
||||
super(100, new Vector2i(x,y), p);
|
||||
this.sprite = new Sprite("Tank", "data/units/apu/apu0000.png");
|
||||
this.sprite = new Sprite("APU", "data/units/apu/apu0000.png");
|
||||
sprite.setSize(new Vector2f(40,40));
|
||||
getNode().add(sprite);
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ public class Bomber extends Unit{
|
|||
|
||||
public Bomber(int x, int y, Player p){
|
||||
super(200, new Vector2i(x,y), p);
|
||||
this.sprite = new Sprite("Tank", "data/units/bomber/bomber0000.png");
|
||||
this.sprite = new Sprite("Bomber", "data/units/bomber/bomber0000.png");
|
||||
sprite.setSize(new Vector2f(50,60));
|
||||
getNode().add(sprite);
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public abstract class Unit extends GameEntity{
|
|||
*/
|
||||
public Unit(int l, Vector2i pos, Player p) {
|
||||
super(l, p);
|
||||
unitNode = new Node("unit");
|
||||
unitNode = new Node("UnitNode");
|
||||
unitNode.setLocation(Map.getPixelByPos(pos.getX(), pos.getY()));
|
||||
setPos(pos.getX(), pos.getY());
|
||||
}
|
||||
|
|
@ -87,7 +87,6 @@ public abstract class Unit extends GameEntity{
|
|||
}
|
||||
oldPos = new Vector2i(x, y);
|
||||
InGameState.getMap().setPos(this, x, y);
|
||||
System.out.println(oldPos);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -108,7 +107,7 @@ public abstract class Unit extends GameEntity{
|
|||
* @param y The y pos to move to
|
||||
* @param b True to clear old orders else false
|
||||
*/
|
||||
private void move(int x, int y, boolean b) {
|
||||
protected void move(int x, int y, boolean b) {
|
||||
if(b){
|
||||
attack = null;
|
||||
}
|
||||
|
|
@ -133,15 +132,19 @@ public abstract class Unit extends GameEntity{
|
|||
|
||||
public abstract float getVelocity();
|
||||
|
||||
public void removeUnit(){
|
||||
unitNode.remove(getSprite());
|
||||
getPlayer().removeUnit(this);
|
||||
InGameState.getMap().removePos(oldPos.getX(), oldPos.getY());
|
||||
}
|
||||
|
||||
/**
|
||||
* Updating the unit
|
||||
*/
|
||||
public void update() {
|
||||
|
||||
if(getLife()<=0) {
|
||||
unitNode.remove("Tank");
|
||||
getPlayer().removeUnit(this);
|
||||
InGameState.getMap().removePos(oldPos.getX(), oldPos.getY());
|
||||
removeUnit();
|
||||
}
|
||||
else if(moveTo != null) {
|
||||
Vector2i moveVect = new Vector2i((int)moveTo.getX(),(int)moveTo.getY());
|
||||
|
|
@ -173,25 +176,25 @@ public abstract class Unit extends GameEntity{
|
|||
//Diagonally.
|
||||
if(moveVect.getX() > oldVect.getX() && moveVect.getY() > oldVect.getY()
|
||||
&& moveXminus>=2 && moveYminus>=2) {
|
||||
unitNode.get("Tank").setRotation(new Vector3f(0, 0, -45));
|
||||
getSprite().setRotation(new Vector3f(0, 0, -45));
|
||||
}
|
||||
|
||||
if(moveVect.getX() < oldVect.getX() && moveVect.getY() < oldVect.getY()
|
||||
&& moveXminus<=-2 && moveYminus<=-2) {
|
||||
unitNode.get("Tank").setRotation(new Vector3f(0, 0, 135));
|
||||
getSprite().setRotation(new Vector3f(0, 0, 135));
|
||||
}
|
||||
|
||||
if(moveVect.getX() > oldVect.getX() && moveVect.getY() < oldVect.getY()
|
||||
&& moveXminus>=2 && moveYminus<=-2) {
|
||||
unitNode.get("Tank").setRotation(new Vector3f(0, 0, -135));
|
||||
getSprite().setRotation(new Vector3f(0, 0, -135));
|
||||
}
|
||||
|
||||
if(moveVect.getX() < oldVect.getX() && moveVect.getY() > oldVect.getY()
|
||||
&& moveXminus<=-2 && moveYminus>=2) {
|
||||
unitNode.get("Tank").setRotation(new Vector3f(0, 0, 45));
|
||||
getSprite().setRotation(new Vector3f(0, 0, 45));
|
||||
}
|
||||
|
||||
//System.out.println(unitNode.get("Tank").getRotation());
|
||||
//System.out.println(getSprite().getRotation());
|
||||
|
||||
|
||||
//The moving is done here.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue