/******************************************************************************* ** ** ** @author: Thanius ** ** @version: 1.0.0 ** ** ** ** @info: Functions for the Player/User ** ** ** *******************************************************************************/ package bomberman; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javax.imageio.ImageIO; public class Player { private Animation animLeft, animUp, animRight, animDown, animDie; private BufferedImage left1, left2, left3, left4, left5; private BufferedImage up1, up2, up3, up4, up5; private BufferedImage right1, right2, right3, right4, right5; private BufferedImage down1, down2, down3, down4, down5; private BufferedImage die1, die2, die3, die4, die5; private BufferedImage bomb, pow, life; private BufferedImage currentFrame; private Rectangle area; private int score, speed, x, y, bombs, maxBombs, power, lifes; private long oldTime, newTime, elapsedTime; private boolean alive, died; public Player(int startX, int startY) { InitPlayer(startX, startY); } private void InitPlayer(int startX, int startY) { alive = true; died = false; score = 0; speed = 4; bombs = maxBombs = 1; power = 5; lifes = 5; x = startX; y = startY; area = new Rectangle(); LoadImages(); InitAnimations(); currentFrame = down1; } private void LoadImages() { try { up1 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/01.gif")); up2 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/02.gif")); up3 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/03.gif")); up4 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/04.gif")); up5 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/05.gif")); down1 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/11.gif")); down2 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/12.gif")); down3 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/13.gif")); down4 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/14.gif")); down5 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/15.gif")); left1 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/21.gif")); left2 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/22.gif")); left3 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/23.gif")); left4 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/24.gif")); left5 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/25.gif")); right1 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/31.gif")); right2 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/32.gif")); right3 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/33.gif")); right4 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/34.gif")); right5 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/35.gif")); die1 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/41.gif")); die2 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/42.gif")); die3 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/43.gif")); die4 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/44.gif")); die5 = ImageIO.read(getClass().getResource("Images/Bombermans/Player 1/45.gif")); bomb = ImageIO.read(getClass().getResource("Images/BomberBonuses/B2.gif")); pow = ImageIO.read(getClass().getResource("Images/BomberBonuses/F2.gif")); life = ImageIO.read(getClass().getResource("Images/BomberBonuses/Heart.gif")); } catch (IOException ex) { Logger.getLogger(Game.class.getName()).log(Level.SEVERE, null, ex); } } private void InitAnimations() { animLeft = new Animation(); animLeft.AddFrame(left1, 100); animLeft.AddFrame(left2, 100); animLeft.AddFrame(left3, 100); animLeft.AddFrame(left4, 100); animLeft.AddFrame(left5, 100); animRight = new Animation(); animRight.AddFrame(right1, 100); animRight.AddFrame(right2, 100); animRight.AddFrame(right3, 100); animRight.AddFrame(right4, 100); animRight.AddFrame(right5, 100); animDown = new Animation(); animDown.AddFrame(down1, 100); animDown.AddFrame(down2, 100); animDown.AddFrame(down3, 100); animDown.AddFrame(down4, 100); animDown.AddFrame(down5, 100); animUp = new Animation(); animUp.AddFrame(up1, 100); animUp.AddFrame(up2, 100); animUp.AddFrame(up3, 100); animUp.AddFrame(up4, 100); animUp.AddFrame(up5, 100); animDie = new Animation(); animDie.AddFrame(die1, 100); animDie.AddFrame(die2, 100); animDie.AddFrame(die3, 100); animDie.AddFrame(die4, 100); animDie.AddFrame(die5, 100); } /******************************************************************************* ** ** ** A C T I O N F U N C T I O N S ** ** ** *******************************************************************************/ protected void UserAnimation(String action) { switch(action) { case "left": currentFrame = (BufferedImage) animLeft.GetImage(); animLeft.Update(10); break; case "right": currentFrame = (BufferedImage) animRight.GetImage(); animRight.Update(10); break; case "up": currentFrame = (BufferedImage) animUp.GetImage(); animUp.Update(10); break; case "down": currentFrame = (BufferedImage) animDown.GetImage(); animDown.Update(10); break; case "die": currentFrame = (BufferedImage) animDie.GetImage(); newTime = System.currentTimeMillis(); elapsedTime = newTime - oldTime; if(elapsedTime > 10 && elapsedTime < 750) animDie.Update(10); if(elapsedTime > 755) died = true; if(elapsedTime > 800) { died = false; if(lifes >= 1) { currentFrame = down1; x = 69; y = 69; } } if(lifes == 0) alive = false; break; case "drop": break; case "none": animLeft.Update(0); animRight.Update(0); animUp.Update(0); animDown.Update(0); break; } } protected void MoveX(int move) { x += move; } protected void MoveY(int move) { y += move; } /******************************************************************************* ** ** ** S E T F U N C T I O N S ** ** ** *******************************************************************************/ protected void SetCurrentFrame(BufferedImage currentFrame) { this.currentFrame = currentFrame; } protected void SetX(int x) { this.x = x; } protected void SetY(int y) { this.y = y; } protected void SetArea() { area.setRect(x, y + 4, 14, 26); } protected void SetBombs(int bombs) { this.bombs += bombs; } protected void SetMaxBombs(int maxBombs) { this.maxBombs += maxBombs; } protected void SetPower(int power) { this.power += power; } protected void SetLives(int lives) { this.lifes += lives; } protected void SetScore(int score) { this.score += score; } protected void SetSpeed(int speed) { this.speed += speed; if(speed < 2) this.speed = 2; if(speed > 6) this.speed = 6; } protected void SetOldTime(long oldTime) { this.oldTime = oldTime; } /******************************************************************************* ** ** ** G E T F U N C T I O N S ** ** ** *******************************************************************************/ protected BufferedImage GetLeft1() { return left1; } protected BufferedImage GetRight1() { return right1; } protected BufferedImage GetUp1() { return up1; } protected BufferedImage GetDown1() { return down1; } protected BufferedImage GetCurrentFrame() { return currentFrame; } protected BufferedImage GetBombImage() { return bomb; } protected BufferedImage GetPowerImage() { return pow; } protected BufferedImage GetLiveImage() { return life; } protected int GetScore() { return score; } protected int GetSpeed() { return speed; } protected int GetX() { return x; } protected int GetY() { return y; } protected Rectangle GetArea() { return area; } protected int GetBombs() { return bombs; } protected int GetMaxBombs() { return maxBombs; } protected int GetPower() { return power; } protected int GetLives() { return lifes; } protected boolean GetAlive() { return alive; } protected boolean GetDied() { return died; } }