-Refactored Neighbor to NeighborDrone
-Created NeighborBuilding Signed-off-by: Tony Grosinger <tony@grosinger.net>
This commit is contained in:
parent
564c97c8b9
commit
89a6f1e559
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/net/grosinger/nomads/NeighborBuilding.class
Normal file
BIN
bin/net/grosinger/nomads/NeighborBuilding.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -43,7 +43,7 @@ public interface Drone extends GameObject {
|
|||||||
*
|
*
|
||||||
* @return <code>Neighbor</code>;
|
* @return <code>Neighbor</code>;
|
||||||
*/
|
*/
|
||||||
public Neighbor steal();
|
public NeighborDrone steal();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asks for which drone should be attacked. Will be called whenever the Move
|
* Asks for which drone should be attacked. Will be called whenever the Move
|
||||||
@ -51,7 +51,7 @@ public interface Drone extends GameObject {
|
|||||||
*
|
*
|
||||||
* @return <code>Neighbor</code>
|
* @return <code>Neighbor</code>
|
||||||
*/
|
*/
|
||||||
public Neighbor attack();
|
public NeighborDrone attack();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asks what the drone would like to upgrade. Will be called whenever the Move
|
* Asks what the drone would like to upgrade. Will be called whenever the Move
|
||||||
|
@ -32,7 +32,8 @@ public class DroneListItem {
|
|||||||
|
|
||||||
// Statistics about this robot
|
// Statistics about this robot
|
||||||
|
|
||||||
private int visibleDistance;
|
private int visibleDistance; // Distance that this drone can see buildings
|
||||||
|
// and other drones
|
||||||
private int lumaLocatorDistance;
|
private int lumaLocatorDistance;
|
||||||
private int objectLocatorDistance;
|
private int objectLocatorDistance;
|
||||||
private int reliability;
|
private int reliability;
|
||||||
@ -400,7 +401,7 @@ public class DroneListItem {
|
|||||||
* Finds who the drone wants to attack and attempts to perform attack.
|
* Finds who the drone wants to attack and attempts to perform attack.
|
||||||
*/
|
*/
|
||||||
private void doAttack() {
|
private void doAttack() {
|
||||||
Neighbor victimNeighbor = current.attack();
|
NeighborDrone victimNeighbor = current.attack();
|
||||||
|
|
||||||
if (victimNeighbor == null) {
|
if (victimNeighbor == null) {
|
||||||
// Seems they did something wrong. Turn wasted.
|
// Seems they did something wrong. Turn wasted.
|
||||||
@ -440,7 +441,7 @@ public class DroneListItem {
|
|||||||
* Finds who the drone wants to steal from and attempts to perform steal.
|
* Finds who the drone wants to steal from and attempts to perform steal.
|
||||||
*/
|
*/
|
||||||
private void doSteal() {
|
private void doSteal() {
|
||||||
Neighbor victimNeighbor = current.steal();
|
NeighborDrone victimNeighbor = current.steal();
|
||||||
|
|
||||||
if (victimNeighbor == null) {
|
if (victimNeighbor == null) {
|
||||||
// Seems they did something wrong. Turn wasted.
|
// Seems they did something wrong. Turn wasted.
|
||||||
|
@ -14,6 +14,7 @@ public class DroneTools {
|
|||||||
private DroneListItem listItem;
|
private DroneListItem listItem;
|
||||||
private DroneTeam currentTeam;
|
private DroneTeam currentTeam;
|
||||||
private World worldReference;
|
private World worldReference;
|
||||||
|
private Point townCenter;
|
||||||
private int worldSize;
|
private int worldSize;
|
||||||
|
|
||||||
public DroneTools(Drone aDrone, DroneListItem droneParent, World theWorld) {
|
public DroneTools(Drone aDrone, DroneListItem droneParent, World theWorld) {
|
||||||
@ -122,14 +123,31 @@ public class DroneTools {
|
|||||||
return worldReference.inSafeZone(getX(), getY(), listItem);
|
return worldReference.inSafeZone(getX(), getY(), listItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the location of the center of the main town. Buildings are located
|
||||||
|
* on the corners of this point.
|
||||||
|
*
|
||||||
|
* @return <code>Point</code>
|
||||||
|
*/
|
||||||
|
public Point getTownCenter() {
|
||||||
|
if (townCenter == null) {
|
||||||
|
townCenter = new Point(30, 50);
|
||||||
|
}
|
||||||
|
return townCenter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ArrayList<Building> checkBuildings() {
|
||||||
|
return worldReference.buildingsInRange(getX(), getY(), listItem.getVisibleDistance());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve a list of all Drones that are visible within your sight range.
|
* Retrieve a list of all Drones that are visible within your sight range.
|
||||||
* (Sight range can be upgraded)
|
* (Sight range can be upgraded)
|
||||||
*
|
*
|
||||||
* @return ArrayList of Neighbors
|
* @return ArrayList of Neighbors
|
||||||
*/
|
*/
|
||||||
public ArrayList<Neighbor> checkRadar() {
|
public ArrayList<NeighborDrone> checkRadar() {
|
||||||
ArrayList<Neighbor> neighbors = new ArrayList<Neighbor>();
|
ArrayList<NeighborDrone> neighbors = new ArrayList<NeighborDrone>();
|
||||||
int maxDistance = listItem.getVisibleDistance();
|
int maxDistance = listItem.getVisibleDistance();
|
||||||
for (int i = maxDistance * -1; i <= maxDistance; i++) {
|
for (int i = maxDistance * -1; i <= maxDistance; i++) {
|
||||||
for (int j = maxDistance * -1; j <= maxDistance; j++) {
|
for (int j = maxDistance * -1; j <= maxDistance; j++) {
|
||||||
@ -143,7 +161,7 @@ public class DroneTools {
|
|||||||
Drone droneHere = (Drone) objectHere;
|
Drone droneHere = (Drone) objectHere;
|
||||||
DroneListItem listItemHere = Nomads
|
DroneListItem listItemHere = Nomads
|
||||||
.droneToListItem(droneHere);
|
.droneToListItem(droneHere);
|
||||||
Neighbor aWildNeighbor = new Neighbor(
|
NeighborDrone aWildNeighbor = new NeighborDrone(
|
||||||
listItemHere.getX(), listItemHere.getY(),
|
listItemHere.getX(), listItemHere.getY(),
|
||||||
droneHere.getName(), droneHere.getUID());
|
droneHere.getName(), droneHere.getUID());
|
||||||
neighbors.add(aWildNeighbor);
|
neighbors.add(aWildNeighbor);
|
||||||
|
82
src/net/grosinger/nomads/NeighborBuilding.java
Normal file
82
src/net/grosinger/nomads/NeighborBuilding.java
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
package net.grosinger.nomads;
|
||||||
|
|
||||||
|
import net.grosinger.nomads.Building.Structure;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An array of NeigborBuildings will be given to a drone that is searching for
|
||||||
|
* the buildings it is near. This is typically done from the town center.
|
||||||
|
*/
|
||||||
|
public class NeighborBuilding implements GameObject {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
private int x;
|
||||||
|
private int y;
|
||||||
|
private String UID;
|
||||||
|
private Building building;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Constructor
|
||||||
|
*
|
||||||
|
* @param x
|
||||||
|
* - X location of the Building
|
||||||
|
* @param y
|
||||||
|
* - Y location of the Building
|
||||||
|
* @param name
|
||||||
|
* - Name of the Building
|
||||||
|
*/
|
||||||
|
public NeighborBuilding(int x, int y, String name, String UID,
|
||||||
|
Building building) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
this.name = name;
|
||||||
|
this.UID = UID;
|
||||||
|
this.building = building;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve x location
|
||||||
|
*
|
||||||
|
* @return <code>int</code> - x Location
|
||||||
|
*/
|
||||||
|
public int getX() {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve y location
|
||||||
|
*
|
||||||
|
* @return <code>int</code> - y Location
|
||||||
|
*/
|
||||||
|
public int getY() {
|
||||||
|
return y;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve type of building that this is
|
||||||
|
*
|
||||||
|
* @return <code>Structure</code>
|
||||||
|
*/
|
||||||
|
public Structure getType() {
|
||||||
|
return building.getType();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve UID of this Neighbor
|
||||||
|
*
|
||||||
|
* @return <code>String</code> - UID
|
||||||
|
*/
|
||||||
|
public String getUID() {
|
||||||
|
return UID;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setName(String newName) {
|
||||||
|
name = newName;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,9 +1,9 @@
|
|||||||
package net.grosinger.nomads;
|
package net.grosinger.nomads;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An array of Neighbors will be given to a drone that is using it's radar
|
* An array of NeighborDrones will be given to a drone that is using it's radar
|
||||||
*/
|
*/
|
||||||
public class Neighbor implements GameObject {
|
public class NeighborDrone implements GameObject {
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
private int x;
|
private int x;
|
||||||
@ -20,7 +20,7 @@ public class Neighbor implements GameObject {
|
|||||||
* @param name
|
* @param name
|
||||||
* - Name of the Drone
|
* - Name of the Drone
|
||||||
*/
|
*/
|
||||||
public Neighbor(int x, int y, String name, String UID) {
|
public NeighborDrone(int x, int y, String name, String UID) {
|
||||||
this.x = x;
|
this.x = x;
|
||||||
this.y = y;
|
this.y = y;
|
||||||
this.name = name;
|
this.name = name;
|
@ -66,13 +66,13 @@ public class Police implements Drone {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Neighbor steal() {
|
public NeighborDrone steal() {
|
||||||
// This method is not used by the police drones
|
// This method is not used by the police drones
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Neighbor attack() {
|
public NeighborDrone attack() {
|
||||||
// When attacked, a police drone will automatically retaliate, dealing
|
// When attacked, a police drone will automatically retaliate, dealing
|
||||||
// 2x the damage that was done to itself.
|
// 2x the damage that was done to itself.
|
||||||
// TODO - Implement Police Attack
|
// TODO - Implement Police Attack
|
||||||
|
Reference in New Issue
Block a user