package com.jpii.navalbattle.game.entity; import com.jpii.navalbattle.pavo.Game; import com.jpii.navalbattle.pavo.PavoHelper; import com.jpii.navalbattle.pavo.grid.EntityManager; import com.jpii.navalbattle.pavo.grid.GridedEntityTileOrientation; import com.jpii.navalbattle.pavo.grid.Location; public class Whale extends AnimatedEntity { private static final long serialVersionUID = 1L; public static int[] animationFramesForDaWhale; /** * @param em * @param loc * @param animationFrameIds */ public Whale(EntityManager em, Location loc,byte orientation, GridedEntityTileOrientation... animationFrameIds) { super(em, loc, orientation, animationFrameIds); nextIndex = Game.Settings.rand.nextInt(0,3); imgLocation="drawable-game/other/whaleright.png"; } boolean speedy = false; public void onUpdate(long tickTime) { super.onUpdate(tickTime); if (speedy && tickTime % 2 == 0) { updateFrame(); } else if (tickTime % 6 == 0) { updateFrame(); } if (tickTime % 5 == 0) updateSurroundings(); } public void onMouseDown(int x, int y, boolean leftClick) { //this.animatedMoveTo(/*new Location(3,3)*/((NavalManager)getManager()).gh.pollNearLocation(getLocation()), 0.25f); //getManager().getWorld().animatedSetLoc(Game.Settings.rand.nextInt(-2000, 2000),Game.Settings.rand.nextInt(1000, 2000)); //Location loc2 = Location.random(getManager().getWorld(),Game.Settings.rand); //getManager().getWorld().animatedSetLoc(loc2,0.0556666662f); } private void updateSurroundings() { for (int r = -3; r < 3; r++) { for (int c = -3; c < c; c++) { int rr = getLocation().getRow(); int cc = getLocation().getCol(); int rrr = rr+r; int ccc = cc+c; if (rrr >= 0 && ccc >= 0 && ccc < 2*PavoHelper.getGameWidth(getManager().getWorld().getWorldSize()) && rrr < 2*PavoHelper.getGameHeight(getManager().getWorld().getWorldSize()) && getManager().getTile(rrr, ccc) != null&& getManager().getTile(rrr, ccc).getEntity() instanceof BattleShip) { speedy = true; return; } } } speedy = false; } }