Add first obstacle as proof of concept.
This commit is contained in:
parent
de685366ee
commit
bc68de5b99
@ -5,6 +5,7 @@ background:CloudBackground
|
|||||||
-
|
-
|
||||||
[0-4]
|
[0-4]
|
||||||
spawn:EnemyOne,1,5
|
spawn:EnemyOne,1,5
|
||||||
|
spawn:StoneOne,4,5
|
||||||
[4-10]
|
[4-10]
|
||||||
spawn:EnemyTwo,1,10
|
spawn:EnemyTwo,1,10
|
||||||
[10-25]
|
[10-25]
|
||||||
|
@ -34,6 +34,8 @@ public abstract class Entity implements Updateable, Paintable {
|
|||||||
EnemyBoss, EnemyBossMinion,
|
EnemyBoss, EnemyBossMinion,
|
||||||
/* Explosions */
|
/* Explosions */
|
||||||
ExplosionOne, ExplosionTwo, MultiExplosion,
|
ExplosionOne, ExplosionTwo, MultiExplosion,
|
||||||
|
/* Stones */
|
||||||
|
StoneOne,
|
||||||
/* Items */
|
/* Items */
|
||||||
ItemCredit, ItemHeal, ItemIncreaseDamage, ItemNuke, ItemOneUp, ItemRocket, ItemShield,
|
ItemCredit, ItemHeal, ItemIncreaseDamage, ItemNuke, ItemOneUp, ItemRocket, ItemShield,
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package de.teamteamteam.spacescooter.entity;
|
|||||||
import de.teamteamteam.spacescooter.brain.GameConfig;
|
import de.teamteamteam.spacescooter.brain.GameConfig;
|
||||||
import de.teamteamteam.spacescooter.brain.PlayerSession;
|
import de.teamteamteam.spacescooter.brain.PlayerSession;
|
||||||
import de.teamteamteam.spacescooter.entity.enemy.Enemy;
|
import de.teamteamteam.spacescooter.entity.enemy.Enemy;
|
||||||
|
import de.teamteamteam.spacescooter.entity.obstacle.Obstacle;
|
||||||
import de.teamteamteam.spacescooter.entity.shot.Shot;
|
import de.teamteamteam.spacescooter.entity.shot.Shot;
|
||||||
import de.teamteamteam.spacescooter.entity.spi.Collidable;
|
import de.teamteamteam.spacescooter.entity.spi.Collidable;
|
||||||
import de.teamteamteam.spacescooter.entity.spi.Hittable;
|
import de.teamteamteam.spacescooter.entity.spi.Hittable;
|
||||||
@ -69,6 +70,10 @@ public abstract class LivingEntity extends CollidableEntity implements Hittable
|
|||||||
return;
|
return;
|
||||||
this.takeDamage(s.getDamageValue());
|
this.takeDamage(s.getDamageValue());
|
||||||
}
|
}
|
||||||
|
if (entity instanceof Obstacle) {
|
||||||
|
Obstacle o = (Obstacle) entity;
|
||||||
|
this.takeDamage(o.getCollisionDamage());
|
||||||
|
}
|
||||||
if (entity instanceof Player && (!(this instanceof Player))) {
|
if (entity instanceof Player && (!(this instanceof Player))) {
|
||||||
Player player = (Player) entity;
|
Player player = (Player) entity;
|
||||||
this.takeDamage(player.getCollisionDamage());
|
this.takeDamage(player.getCollisionDamage());
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
package de.teamteamteam.spacescooter.entity;
|
|
||||||
|
|
||||||
import de.teamteamteam.spacescooter.entity.spi.Collidable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Obstacles are static or floating things that do damage on collision.
|
|
||||||
*/
|
|
||||||
public abstract class Obstacle extends CollidableEntity {
|
|
||||||
|
|
||||||
public Obstacle(int x, int y) {
|
|
||||||
super(x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void update() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void collideWith(Collidable entity) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -9,6 +9,7 @@ import de.teamteamteam.spacescooter.brain.PlayerSession;
|
|||||||
import de.teamteamteam.spacescooter.control.Keyboard;
|
import de.teamteamteam.spacescooter.control.Keyboard;
|
||||||
import de.teamteamteam.spacescooter.control.KeyboardListener;
|
import de.teamteamteam.spacescooter.control.KeyboardListener;
|
||||||
import de.teamteamteam.spacescooter.entity.enemy.Enemy;
|
import de.teamteamteam.spacescooter.entity.enemy.Enemy;
|
||||||
|
import de.teamteamteam.spacescooter.entity.obstacle.Obstacle;
|
||||||
import de.teamteamteam.spacescooter.entity.shot.Shot;
|
import de.teamteamteam.spacescooter.entity.shot.Shot;
|
||||||
import de.teamteamteam.spacescooter.entity.spi.Collidable;
|
import de.teamteamteam.spacescooter.entity.spi.Collidable;
|
||||||
import de.teamteamteam.spacescooter.sound.SoundSystem;
|
import de.teamteamteam.spacescooter.sound.SoundSystem;
|
||||||
|
@ -0,0 +1,14 @@
|
|||||||
|
package de.teamteamteam.spacescooter.entity.obstacle;
|
||||||
|
|
||||||
|
import de.teamteamteam.spacescooter.entity.CollidableEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Obstacles are static or floating things that do damage on collision.
|
||||||
|
*/
|
||||||
|
public abstract class Obstacle extends CollidableEntity {
|
||||||
|
|
||||||
|
public Obstacle(int x, int y) {
|
||||||
|
super(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package de.teamteamteam.spacescooter.entity.obstacle;
|
||||||
|
|
||||||
|
import de.teamteamteam.spacescooter.entity.spi.Collidable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* First proof of concept obstacle.
|
||||||
|
* A simple stone that moves to the left.
|
||||||
|
*/
|
||||||
|
public class StoneOne extends Obstacle {
|
||||||
|
|
||||||
|
public StoneOne(int x, int y) {
|
||||||
|
super(x, y);
|
||||||
|
this.setImage("images/stones/stone01.png");
|
||||||
|
this.setCollisionDamage(9001);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void update() {
|
||||||
|
this.transpose(-1, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void collideWith(Collidable entity) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -10,6 +10,7 @@ import de.teamteamteam.spacescooter.entity.enemy.EnemyBoss;
|
|||||||
import de.teamteamteam.spacescooter.entity.enemy.EnemyOne;
|
import de.teamteamteam.spacescooter.entity.enemy.EnemyOne;
|
||||||
import de.teamteamteam.spacescooter.entity.enemy.EnemyThree;
|
import de.teamteamteam.spacescooter.entity.enemy.EnemyThree;
|
||||||
import de.teamteamteam.spacescooter.entity.enemy.EnemyTwo;
|
import de.teamteamteam.spacescooter.entity.enemy.EnemyTwo;
|
||||||
|
import de.teamteamteam.spacescooter.entity.obstacle.StoneOne;
|
||||||
import de.teamteamteam.spacescooter.screen.GameScreen;
|
import de.teamteamteam.spacescooter.screen.GameScreen;
|
||||||
import de.teamteamteam.spacescooter.sound.SoundSystem;
|
import de.teamteamteam.spacescooter.sound.SoundSystem;
|
||||||
import de.teamteamteam.spacescooter.utility.Loader;
|
import de.teamteamteam.spacescooter.utility.Loader;
|
||||||
@ -140,6 +141,9 @@ public final class Level {
|
|||||||
case EnemyBoss:
|
case EnemyBoss:
|
||||||
new EnemyBoss(x, y);
|
new EnemyBoss(x, y);
|
||||||
break;
|
break;
|
||||||
|
case StoneOne:
|
||||||
|
new StoneOne(x, y);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
System.err.println("I don't know how to spawn this: " + entity);
|
System.err.println("I don't know how to spawn this: " + entity);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user