Archived
1
0

-Created InvalidUpgradeException

-Implemented Maximum Number of Requested Objectives

Signed-off-by: Tony Grosinger <tony@grosinger.net>
This commit is contained in:
Tony Grosinger 2011-09-16 11:31:55 -07:00
parent 651b6c2999
commit 7b0b2b666d
8 changed files with 49 additions and 6 deletions

View File

@ -235,6 +235,16 @@ public class DroneListItem {
return y; return y;
} }
/**
* Returnes the list of all objectives this drone should be currently
* looking for
*
* @return <code>ArrayList</code>
*/
public ArrayList<Objective> getCurrentObjectives() {
return currentObjectives;
}
/** /**
* Returns if the drone is wanted * Returns if the drone is wanted
* *
@ -322,6 +332,26 @@ public class DroneListItem {
waiting += newWaiting; waiting += newWaiting;
} }
/**
* Adds a new objective to the list of current objectives
*
* @param newObj
* Objective to add to list
*/
public void addObjective(Objective newObj) {
currentObjectives.add(newObj);
}
/**
* Removes an objective from the list of current objectives
*
* @param oldObj
* Objective to remove from list
*/
public void removeObjective(Objective oldObj) {
currentObjectives.remove(oldObj);
}
/** /**
* Increases the Visible Distance by specified amount * Increases the Visible Distance by specified amount
* *

View File

@ -3,7 +3,6 @@ package net.grosinger.nomads;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
public class Nomads { public class Nomads {
public static World awesomeWorld; public static World awesomeWorld;
@ -47,7 +46,8 @@ public class Nomads {
public static final int MAXOBJECTIVEBOUNTY = 30; public static final int MAXOBJECTIVEBOUNTY = 30;
public static final int MINOBJECTIVEBOUNTY = 10; public static final int MINOBJECTIVEBOUNTY = 10;
public static final int MAXREQUESTEDOBJECTIVES = 2;
public static final int BASE_VISIBLEDISTANCE = 15; public static final int BASE_VISIBLEDISTANCE = 15;
public static final int BASE_LUMALOCATORDISTANCE = 10; public static final int BASE_LUMALOCATORDISTANCE = 10;
public static final int BASE_OBJECTLOCATORDISTANCE = 10; public static final int BASE_OBJECTLOCATORDISTANCE = 10;
@ -57,7 +57,7 @@ public class Nomads {
public static final int BASE_SPEED = 1; public static final int BASE_SPEED = 1;
public static final int BASE_CARGOSPACE = 3; public static final int BASE_CARGOSPACE = 3;
public static final int BASE_THEFT = 1; public static final int BASE_THEFT = 1;
public static final int MAXLEVEL_RADARS = 30; public static final int MAXLEVEL_RADARS = 30;
public static final int MAXLEVEL_STATS = 10; public static final int MAXLEVEL_STATS = 10;

View File

@ -1,6 +1,7 @@
package net.grosinger.nomads; package net.grosinger.nomads;
import net.grosinger.nomads.exceptions.InsufficientFundsException; import net.grosinger.nomads.exceptions.InsufficientFundsException;
import net.grosinger.nomads.exceptions.InvalidUpgradeException;
/** /**
* A representation of an UpgradeShop. Allows Drones to interact with this * A representation of an UpgradeShop. Allows Drones to interact with this
@ -12,8 +13,6 @@ public class UpgradeShop extends NeighborBuilding {
super(x, y, name, building, drone); super(x, y, name, building, drone);
} }
// TODO - Implement Upgrade Shop
/** /**
* Performs an upgrade on the drone if it is possible. Must be passed an * Performs an upgrade on the drone if it is possible. Must be passed an
* upgrade that is not already of max level, and that has enough funds to * upgrade that is not already of max level, and that has enough funds to
@ -22,13 +21,19 @@ public class UpgradeShop extends NeighborBuilding {
* @param toPerform * @param toPerform
* An Upgrade that should be performed * An Upgrade that should be performed
* @throws InsufficientFundsException * @throws InsufficientFundsException
* @throws InvalidUpgradeException
*/ */
public void performUpgrade(Upgrade toPerform) throws InsufficientFundsException { public void performUpgrade(Upgrade toPerform) throws InsufficientFundsException,
InvalidUpgradeException {
int teamBalance = drone.getTeam().getBalance(); int teamBalance = drone.getTeam().getBalance();
int upgradeCost = toPerform.getPrice(); int upgradeCost = toPerform.getPrice();
if (upgradeCost > teamBalance) { if (upgradeCost > teamBalance) {
throw new InsufficientFundsException(); throw new InsufficientFundsException();
} else if (toPerform.isMaxLevel()) {
throw new InvalidUpgradeException("Maximum level already achieved");
} else {
// TODO - Implement Perform Upgrade
} }
} }

View File

@ -0,0 +1,8 @@
package net.grosinger.nomads.exceptions;
public class InvalidUpgradeException extends Exception {
public InvalidUpgradeException(String reason){
super(reason);
}
}