diff --git a/src/data/sounds/TANKattack.wav b/src/data/sounds/TANKattack.wav new file mode 100644 index 0000000..6998c1c Binary files /dev/null and b/src/data/sounds/TANKattack.wav differ diff --git a/src/data/sounds/TANKmove1.wav b/src/data/sounds/TANKmove1.wav new file mode 100644 index 0000000..05e6cef Binary files /dev/null and b/src/data/sounds/TANKmove1.wav differ diff --git a/src/data/sounds/TANKmove2.wav b/src/data/sounds/TANKmove2.wav new file mode 100644 index 0000000..e9f4db1 Binary files /dev/null and b/src/data/sounds/TANKmove2.wav differ diff --git a/src/data/sounds/TANKselect.wav b/src/data/sounds/TANKselect.wav new file mode 100644 index 0000000..c63e4fb Binary files /dev/null and b/src/data/sounds/TANKselect.wav differ diff --git a/src/data/sounds/bomberweapon.wav b/src/data/sounds/bomberweapon.wav new file mode 100644 index 0000000..45f397e Binary files /dev/null and b/src/data/sounds/bomberweapon.wav differ diff --git a/src/data/sounds/ei.ogg b/src/data/sounds/ei.ogg new file mode 100644 index 0000000..57a5184 Binary files /dev/null and b/src/data/sounds/ei.ogg differ diff --git a/src/data/sounds/ei.wav b/src/data/sounds/ei.wav new file mode 100644 index 0000000..76217b1 Binary files /dev/null and b/src/data/sounds/ei.wav differ diff --git a/src/data/sounds/tankweapon.wav b/src/data/sounds/tankweapon.wav new file mode 100644 index 0000000..364c9b7 Binary files /dev/null and b/src/data/sounds/tankweapon.wav differ diff --git a/src/ei/game/gamestate/InGameState.java b/src/ei/game/gamestate/InGameState.java index 4e781c6..a2ad35a 100644 --- a/src/ei/game/gamestate/InGameState.java +++ b/src/ei/game/gamestate/InGameState.java @@ -1,6 +1,7 @@ package ei.game.gamestate; import ei.engine.scene.Node; +import ei.engine.sound.Sound; import ei.engine.state.GameState; import ei.game.input.InGameMouseInput; import ei.game.player.HumanPlayer; @@ -16,6 +17,7 @@ import ei.game.scene.weapons.WeaponHandler; public class InGameState extends GameState{ private Node rootNode; private static Map map; + private Sound music; public InGameState(String name){ super(name); @@ -44,6 +46,8 @@ public class InGameState extends GameState{ rootNode.add(map.getMapNode()); rootNode.add(PlayerHandler.getInstance().getNode()); rootNode.add(WeaponHandler.getInstance().getNode()); + music = new Sound("music", "data/sounds/ei.ogg"); + music.loop(); } diff --git a/src/ei/game/scene/units/APU.java b/src/ei/game/scene/units/APU.java index de1e524..7ff1eeb 100644 --- a/src/ei/game/scene/units/APU.java +++ b/src/ei/game/scene/units/APU.java @@ -30,6 +30,7 @@ public class APU extends Unit{ gunSound = new Sound("gunSound", "data/sounds/machinegun.wav"); moveSound = new Sound("moveSound", "data/sounds/APUmove1.wav"); selectSound = new Sound("selectSound", "data/sounds/APUselect.wav"); + attackSound = new Sound("attackSound", "data/sounds/APUattack.wav"); selectionBox = new SelectBox(40,40,getMaxLife()); setLife(50); @@ -60,6 +61,9 @@ public class APU extends Unit{ public Sound getSelectSound() { return selectSound; } + public Sound getAttackSound() { + return attackSound; + } /** * returns the velocity of the unit type. * @return diff --git a/src/ei/game/scene/units/Bomber.java b/src/ei/game/scene/units/Bomber.java index ba00fdb..9c9836f 100644 --- a/src/ei/game/scene/units/Bomber.java +++ b/src/ei/game/scene/units/Bomber.java @@ -27,10 +27,11 @@ public class Bomber extends Unit{ this.sprite = new Sprite("Bomber", "data/units/bomber/bomber0000.png"); sprite.setSize(new Vector2f(50,60)); getNode().add(sprite); - gunSound = new Sound("gunSound", "data/sounds/machinegun.wav"); + gunSound = new Sound("gunSound", "data/sounds/bomberweapon.wav"); moveSound[0] = new Sound("moveSound", "data/sounds/BOMBERmove1.wav"); moveSound[1] = new Sound("moveSound", "data/sounds/BOMBERmove2.wav"); selectSound = new Sound("selectSound", "data/sounds/BOMBERselect.wav"); + attackSound = new Sound("attackSound", "data/sounds/BOMBERattack.wav"); selectionBox = new SelectBox(40,40,getMaxLife()); setLife(180); @@ -61,6 +62,9 @@ public class Bomber extends Unit{ public Sound getSelectSound() { return selectSound; } + public Sound getAttackSound() { + return attackSound; + } /** * returns the velocity of the unit type. * @return diff --git a/src/ei/game/scene/units/Tank.java b/src/ei/game/scene/units/Tank.java index 64e3069..1631e73 100644 --- a/src/ei/game/scene/units/Tank.java +++ b/src/ei/game/scene/units/Tank.java @@ -3,6 +3,7 @@ package ei.game.scene.units; import ei.engine.math.Vector2f; import ei.engine.math.Vector2i; import ei.engine.scene.Sprite; +import ei.engine.sound.Sound; import ei.game.player.Player; import ei.game.scene.SelectBox; import ei.game.scene.weapons.CannonBall; @@ -11,6 +12,12 @@ import ei.game.scene.weapons.Weapon; public class Tank extends Unit{ private SelectBox selectionBox; private Sprite sprite; + + private Sound gunSound; + private Sound[] moveSound = new Sound[2]; + private Sound attackSound; + private Sound selectSound; + public Tank(Player p) { this(0, 0, p); } @@ -20,6 +27,12 @@ public class Tank extends Unit{ this.sprite = new Sprite("Tank", "data/units/tank/tank0000.png"); sprite.setSize(new Vector2f(40,40)); getNode().add(sprite); + + gunSound = new Sound("gunSound", "data/sounds/tankweapon.wav"); + moveSound[0] = new Sound("moveSound", "data/sounds/TANKmove1.wav"); + moveSound[1] = new Sound("moveSound", "data/sounds/TANKmove2.wav"); + selectSound = new Sound("selectSound", "data/sounds/TANKselect.wav"); + attackSound = new Sound("attackSound", "data/sounds/TANKattack.wav"); selectionBox = new SelectBox(40,40,getMaxLife()); setLife(50); @@ -35,6 +48,18 @@ public class Tank extends Unit{ public Weapon getWeapon(Vector2f startPos) { return new CannonBall(startPos); } + public Sound getGunSound() { + return gunSound; + } + public Sound getMoveSound() { + return moveSound[(int)(Math.random()*2)]; + } + public Sound getSelectSound() { + return selectSound; + } + public Sound getAttackSound() { + return attackSound; + } /** * This unit type is now destroyed. */ diff --git a/src/ei/game/scene/units/Unit.java b/src/ei/game/scene/units/Unit.java index 8c17a83..17605a3 100644 --- a/src/ei/game/scene/units/Unit.java +++ b/src/ei/game/scene/units/Unit.java @@ -129,6 +129,7 @@ public abstract class Unit extends GameEntity{ * Lets a unit attack another unit or object in the world; */ public void attack(Vector2i target) { + getAttackSound().play(); this.target = target; attack = InGameState.getMap().getPos(target.getX(),target.getY()); } @@ -139,10 +140,13 @@ public abstract class Unit extends GameEntity{ public abstract Sound getGunSound(); + public abstract Sound getAttackSound(); + public abstract Sound getSelectSound(); public abstract Sound getMoveSound(); + public void removeUnit(){ unitNode.remove(getSprite()); getPlayer().removeUnit(this); diff --git a/src/ei/game/scene/weapons/BomberWeapon.java b/src/ei/game/scene/weapons/BomberWeapon.java index 0f25029..aa925a2 100644 --- a/src/ei/game/scene/weapons/BomberWeapon.java +++ b/src/ei/game/scene/weapons/BomberWeapon.java @@ -31,6 +31,12 @@ public class BomberWeapon extends Weapon{ part.rainbow = false; part.regenerate = false; part.size=10; + float colors[][][]= // Rainbow Of Colors + { + {{0.0f,0.5f,1.0f},{0.0f,0.5f,1.0f}} + + }; + part.colors = colors; return part; }