Android Open Source - feup-lpoo-android-tower-defense Barricade Defense






From Project

Back to project page feup-lpoo-android-tower-defense.

License

The source code is released under:

MIT License

If you think the Android project feup-lpoo-android-tower-defense listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package pt.up.fe.lpoo.towerdefense;
//from w w w.  ja  v  a 2 s.  c o m
import java.util.ArrayList;
import pt.up.fe.lpoo.framework.Image;

/**
 * This class represents the Barricade defense object. It blocks enemy's paths, making them either go around it
 *  when possible, or attack it.
 * @author Joao Marinheiro
 * @author Luis Cleto
 * @see DefenseObject
 */
public class BarricadeDefense extends DefenseObject{
  private static final int BARRICADE_HP = 100;
  private static final float RELOAD_TIME = 2f;
  private static final double BARRICADE_RADIUS = 0.0;
  /** Cost of building a barricade defense */
  public static final int BARRICADE_COST = 20;

  /**
   * Constructor for the BarricadeDefense class. Calls the constructor for the DefenseObject class
   * @param xPos position of the defense in the x axis of the game map
   * @param yPos position of the defense in the y axis of the game map
   */
  public BarricadeDefense(int xPos, int yPos){
    super(RELOAD_TIME, BARRICADE_HP, xPos, yPos, BARRICADE_RADIUS);
  }

  @Override
  protected void attack(ArrayList<Enemy> enemies) {
    foundEnemies = true;
  }

  /**
   * Returns the current Image to represent the tar pool.
   * 
   * @return returns the Image object corresponding the current image of the tar pool
   */
  @Override
  public Image getCurrentImage() {
    return Assets.barricade;
  }

  /**
   * Indicates whether this defense object can be upgraded or not
   * 
   * @return returns true if it can be upgraded, false otherwise
   */
  @Override
  public boolean isUpgradable() {
    return false;
  }

  /**
   * Returns the cost to upgrade the defense
   * 
   * @return returns the necessary credit to upgrade this defense
   */
  @Override
  public int getUpgradeCost() {
    return 0;
  }

  /**
   * Merely a stub since this defense can not be upgraded yet
   */
  @Override
  public void upgrade() {
  }

  /**
   * Returns the cost to build this defense
   */
  @Override
  public int getCost() {
    return BARRICADE_COST;
  }

  /**
   * Indicates whether this defense will block an enemies path or not
   * 
   * @return returns false if enemies cant walk across this defense, true otherwise
   */
  @Override
  public boolean isCrossable() {
    return false;
  }
  /**
   * Indicates whether this defense is part of the ground terrain or if it has a height (for visibility purposes)
   * 
   * @return returns true if the defense is at ground level, false otherwise
   */
  @Override
  public boolean isGroundObject() {
    return false;
  }

  /**
   * @return returns the cost required to repair the defense
   */
  @Override
  public int getRepairCost() {
    return BARRICADE_HP-hitpoints;
  }
}




Java Source Code List

pt.up.fe.lpoo.framework.Audio.java
pt.up.fe.lpoo.framework.FileIO.java
pt.up.fe.lpoo.framework.Game.java
pt.up.fe.lpoo.framework.Graphics.java
pt.up.fe.lpoo.framework.Image.java
pt.up.fe.lpoo.framework.Input.java
pt.up.fe.lpoo.framework.Music.java
pt.up.fe.lpoo.framework.Pool.java
pt.up.fe.lpoo.framework.Screen.java
pt.up.fe.lpoo.framework.Sound.java
pt.up.fe.lpoo.framework.implementation.AndroidAudio.java
pt.up.fe.lpoo.framework.implementation.AndroidFastRenderView.java
pt.up.fe.lpoo.framework.implementation.AndroidFileIO.java
pt.up.fe.lpoo.framework.implementation.AndroidGame.java
pt.up.fe.lpoo.framework.implementation.AndroidGraphics.java
pt.up.fe.lpoo.framework.implementation.AndroidImage.java
pt.up.fe.lpoo.framework.implementation.AndroidInput.java
pt.up.fe.lpoo.framework.implementation.AndroidMusic.java
pt.up.fe.lpoo.framework.implementation.AndroidSound.java
pt.up.fe.lpoo.framework.implementation.MultiTouchHandler.java
pt.up.fe.lpoo.framework.implementation.SingleTouchHandler.java
pt.up.fe.lpoo.framework.implementation.TouchHandler.java
pt.up.fe.lpoo.towerdefense.Animation.java
pt.up.fe.lpoo.towerdefense.Assets.java
pt.up.fe.lpoo.towerdefense.BarricadeDefense.java
pt.up.fe.lpoo.towerdefense.BoulderProjectile.java
pt.up.fe.lpoo.towerdefense.BoulderTower.java
pt.up.fe.lpoo.towerdefense.BuildingOption.java
pt.up.fe.lpoo.towerdefense.DefenseObject.java
pt.up.fe.lpoo.towerdefense.DescriptionObject.java
pt.up.fe.lpoo.towerdefense.Enemy.java
pt.up.fe.lpoo.towerdefense.FreezeTower.java
pt.up.fe.lpoo.towerdefense.GameElements.java
pt.up.fe.lpoo.towerdefense.GameObj.java
pt.up.fe.lpoo.towerdefense.Golem.java
pt.up.fe.lpoo.towerdefense.InstructionsScreen.java
pt.up.fe.lpoo.towerdefense.LevelScreen.java
pt.up.fe.lpoo.towerdefense.LevelSelectionScreen.java
pt.up.fe.lpoo.towerdefense.LoadingScreen.java
pt.up.fe.lpoo.towerdefense.MainMenuScreen.java
pt.up.fe.lpoo.towerdefense.Messages.java
pt.up.fe.lpoo.towerdefense.MusicPlayer.java
pt.up.fe.lpoo.towerdefense.PathCluster.java
pt.up.fe.lpoo.towerdefense.PoisonTower.java
pt.up.fe.lpoo.towerdefense.Projectile.java
pt.up.fe.lpoo.towerdefense.Skull.java
pt.up.fe.lpoo.towerdefense.Slime.java
pt.up.fe.lpoo.towerdefense.SplashLoadingScreen.java
pt.up.fe.lpoo.towerdefense.StatusEffect.java
pt.up.fe.lpoo.towerdefense.TarPoolDefense.java
pt.up.fe.lpoo.towerdefense.TextParser.java
pt.up.fe.lpoo.towerdefense.Tile.java
pt.up.fe.lpoo.towerdefense.TowerDefenseGame.java
pt.up.fe.lpoo.towerdefense.TurretProjectile.java
pt.up.fe.lpoo.towerdefense.TurretTower.java
pt.up.fe.lpoo.towerdefense.Wave.java