-Created classes for additional building types
-Restructred how buildings are represented Signed-off-by: Tony Grosinger <tony@grosinger.net>
This commit is contained in:
parent
73cd872900
commit
a5e5999b4d
@ -5,7 +5,7 @@ A small Java based game where creating the A.I. is the fun part.
|
|||||||
|
|
||||||
About
|
About
|
||||||
-----
|
-----
|
||||||
Using the API (coming soon) and the [SampleDrone](https://github.com/tgrosinger/Nomads-Sample-Drone) create a drone of your own that can destroy all the other drones.
|
Using the [API](https://github.com/tgrosinger/Nomads/downloads) and the [SampleDrone](https://github.com/tgrosinger/Nomads-Sample-Drone) create a drone of your own that can destroy all the other drones.
|
||||||
A sucessful drone will be able to gather resources, avoid the law and other malicious drones, and even reproduce to increase it's forces.
|
A sucessful drone will be able to gather resources, avoid the law and other malicious drones, and even reproduce to increase it's forces.
|
||||||
|
|
||||||
Wiki
|
Wiki
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/net/grosinger/nomads/PoliceStation.class
Normal file
BIN
bin/net/grosinger/nomads/PoliceStation.class
Normal file
Binary file not shown.
BIN
bin/net/grosinger/nomads/RepairShop.class
Normal file
BIN
bin/net/grosinger/nomads/RepairShop.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
bin/net/grosinger/nomads/UpgradeShop.class
Normal file
BIN
bin/net/grosinger/nomads/UpgradeShop.class
Normal file
Binary file not shown.
@ -9,9 +9,6 @@ package net.grosinger.nomads;
|
|||||||
* UpgradeShop - 2
|
* UpgradeShop - 2
|
||||||
* PoliceStation - 3
|
* PoliceStation - 3
|
||||||
* Home - 1
|
* Home - 1
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class Building implements GameObject {
|
public class Building implements GameObject {
|
||||||
Structure structure;
|
Structure structure;
|
||||||
|
@ -155,9 +155,30 @@ public class DroneTools {
|
|||||||
+ i, getY() + j);
|
+ i, getY() + j);
|
||||||
if (objectHere instanceof Building) {
|
if (objectHere instanceof Building) {
|
||||||
Building buildingHere = (Building) objectHere;
|
Building buildingHere = (Building) objectHere;
|
||||||
NeighborBuilding aWildNeighbor = new NeighborBuilding(
|
NeighborBuilding aWildNeighbor;
|
||||||
|
|
||||||
|
if (buildingHere.getType() == Structure.TOWNHALL) {
|
||||||
|
aWildNeighbor = new TownHall(buildingHere.getX(),
|
||||||
|
buildingHere.getY(),
|
||||||
|
buildingHere.getName(), buildingHere);
|
||||||
|
} else if (buildingHere.getType() == Structure.REPAIRSHOP) {
|
||||||
|
aWildNeighbor = new RepairShop(buildingHere.getX(),
|
||||||
|
buildingHere.getY(),
|
||||||
|
buildingHere.getName(), buildingHere);
|
||||||
|
} else if (buildingHere.getType() == Structure.UPGRADESHOP) {
|
||||||
|
aWildNeighbor = new UpgradeShop(
|
||||||
buildingHere.getX(), buildingHere.getY(),
|
buildingHere.getX(), buildingHere.getY(),
|
||||||
buildingHere.getName(), buildingHere);
|
buildingHere.getName(), buildingHere);
|
||||||
|
} else if (buildingHere.getType() == Structure.POLICESTATION) {
|
||||||
|
aWildNeighbor = new PoliceStation(
|
||||||
|
buildingHere.getX(), buildingHere.getY(),
|
||||||
|
buildingHere.getName(), buildingHere);
|
||||||
|
} else {
|
||||||
|
aWildNeighbor = new NeighborBuilding(
|
||||||
|
buildingHere.getX(), buildingHere.getY(),
|
||||||
|
buildingHere.getName(), buildingHere);
|
||||||
|
}
|
||||||
|
|
||||||
neighbors.add(aWildNeighbor);
|
neighbors.add(aWildNeighbor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -212,7 +233,7 @@ public class DroneTools {
|
|||||||
findEmptyPoint(intendedPoint);
|
findEmptyPoint(intendedPoint);
|
||||||
|
|
||||||
House newHouse = new House(Structure.HOUSE, intendedPoint.getX(),
|
House newHouse = new House(Structure.HOUSE, intendedPoint.getX(),
|
||||||
intendedPoint.getY(), referredDrone.getName());
|
intendedPoint.getY(), currentTeam);
|
||||||
worldReference.placeNewBuilding(newHouse);
|
worldReference.placeNewBuilding(newHouse);
|
||||||
currentTeam.deductFromBalance(Nomads.HOUSEPRICE);
|
currentTeam.deductFromBalance(Nomads.HOUSEPRICE);
|
||||||
listItem.setWaiting(Nomads.CREATIONTIME);
|
listItem.setWaiting(Nomads.CREATIONTIME);
|
||||||
|
@ -5,30 +5,13 @@ package net.grosinger.nomads;
|
|||||||
* team
|
* team
|
||||||
*/
|
*/
|
||||||
public class House extends Building {
|
public class House extends Building {
|
||||||
|
|
||||||
private String team;
|
|
||||||
private int turnCreated;
|
private int turnCreated;
|
||||||
|
|
||||||
public House(Structure thisBuilding, int newX, int newY) {
|
public House(Structure thisBuilding, int newX, int newY, DroneTeam team) {
|
||||||
super(thisBuilding, newX, newY);
|
super(thisBuilding, newX, newY, team);
|
||||||
turnCreated = Nomads.turn;
|
turnCreated = Nomads.turn;
|
||||||
}
|
}
|
||||||
|
|
||||||
public House(Structure thisBuilding, int newX, int newY, String teamName) {
|
|
||||||
super(thisBuilding, newX, newY);
|
|
||||||
team = teamName;
|
|
||||||
turnCreated = Nomads.turn;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieve the name of team that owns this house
|
|
||||||
*
|
|
||||||
* @return <code>String</code>
|
|
||||||
*/
|
|
||||||
public String getTeam() {
|
|
||||||
return team;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculates the age of the house
|
* Calculates the age of the house
|
||||||
*
|
*
|
||||||
@ -37,14 +20,4 @@ public class House extends Building {
|
|||||||
public int getAge() {
|
public int getAge() {
|
||||||
return Nomads.turn - turnCreated;
|
return Nomads.turn - turnCreated;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the name of the team that owns this house
|
|
||||||
*
|
|
||||||
* @param newTeam
|
|
||||||
* <code>String</code> House owner
|
|
||||||
*/
|
|
||||||
public void setTeam(String newTeam) {
|
|
||||||
team = newTeam;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,8 @@ public class InitializeGame {
|
|||||||
* @throws IOException
|
* @throws IOException
|
||||||
* @throws ClassNotFoundException
|
* @throws ClassNotFoundException
|
||||||
*/
|
*/
|
||||||
public static void initializeDrones() throws ClassNotFoundException, IOException {
|
public static void initializeDrones() throws ClassNotFoundException,
|
||||||
|
IOException {
|
||||||
if (Nomads.DEBUGSTATUS)
|
if (Nomads.DEBUGSTATUS)
|
||||||
System.out.println("Loading the drones into world...");
|
System.out.println("Loading the drones into world...");
|
||||||
/*
|
/*
|
||||||
@ -52,9 +53,11 @@ public class InitializeGame {
|
|||||||
if (Nomads.DEBUGSTATUS)
|
if (Nomads.DEBUGSTATUS)
|
||||||
System.out.println("Loading " + filename);
|
System.out.println("Loading " + filename);
|
||||||
|
|
||||||
File file = new File(System.getProperty("user.dir") + "/drones/" + filename);
|
File file = new File(System.getProperty("user.dir") + "/drones/"
|
||||||
|
+ filename);
|
||||||
|
|
||||||
URLClassLoader clazzLoader = URLClassLoader.newInstance(new URL[] { file.toURI().toURL() });
|
URLClassLoader clazzLoader = URLClassLoader
|
||||||
|
.newInstance(new URL[] { file.toURI().toURL() });
|
||||||
// System.class.getClassLoader()
|
// System.class.getClassLoader()
|
||||||
|
|
||||||
JarFile jarFile = new JarFile(file);
|
JarFile jarFile = new JarFile(file);
|
||||||
@ -65,7 +68,8 @@ public class InitializeGame {
|
|||||||
if (element.getName().endsWith(className + ".class")) {
|
if (element.getName().endsWith(className + ".class")) {
|
||||||
try {
|
try {
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
Class c = clazzLoader.loadClass(element.getName().replaceAll(".class", "").replaceAll("/", "."));
|
Class c = clazzLoader.loadClass(element.getName()
|
||||||
|
.replaceAll(".class", "").replaceAll("/", "."));
|
||||||
|
|
||||||
// Create new GameObject
|
// Create new GameObject
|
||||||
GameObject newGameObject = (GameObject) c.newInstance();
|
GameObject newGameObject = (GameObject) c.newInstance();
|
||||||
@ -145,10 +149,11 @@ public class InitializeGame {
|
|||||||
if (Nomads.DEBUGSTATUS)
|
if (Nomads.DEBUGSTATUS)
|
||||||
System.out.println("Generating and placing required buildings...");
|
System.out.println("Generating and placing required buildings...");
|
||||||
|
|
||||||
Building townHall = new Building(Structure.TOWNHALL, 30, 40);
|
Building townHall = new Building(Structure.TOWNHALL, 30, 40, null);
|
||||||
Building upgradeShop = new Building(Structure.UPGRADESHOP, 30, 60);
|
Building upgradeShop = new Building(Structure.UPGRADESHOP, 30, 60, null);
|
||||||
Building policeStation = new Building(Structure.POLICESTATION, 50, 40);
|
Building policeStation = new Building(Structure.POLICESTATION, 50, 40,
|
||||||
Building RepairShop = new Building(Structure.REPAIRSHOP, 50, 60);
|
null);
|
||||||
|
Building RepairShop = new Building(Structure.REPAIRSHOP, 50, 60, null);
|
||||||
|
|
||||||
if (Nomads.DEBUGSTATUS)
|
if (Nomads.DEBUGSTATUS)
|
||||||
System.out.println("Building generation complete");
|
System.out.println("Building generation complete");
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package net.grosinger.nomads;
|
package net.grosinger.nomads;
|
||||||
|
|
||||||
import net.grosinger.nomads.Building.Structure;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An array of NeigborBuildings will be given to a drone that is searching for
|
* 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.
|
* the buildings it is near. This is typically done from the town center.
|
||||||
@ -53,15 +51,6 @@ public class NeighborBuilding implements GameObject {
|
|||||||
return y;
|
return y;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieve type of building that this is
|
|
||||||
*
|
|
||||||
* @return <code>Structure</code>
|
|
||||||
*/
|
|
||||||
public Structure getType() {
|
|
||||||
return building.getType();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the name of the team that owns the current building. If the
|
* Retrieve the name of the team that owns the current building. If the
|
||||||
* building is a public building, the string will be "Public".
|
* building is a public building, the string will be "Public".
|
||||||
|
13
src/net/grosinger/nomads/PoliceStation.java
Normal file
13
src/net/grosinger/nomads/PoliceStation.java
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package net.grosinger.nomads;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A representation of a PoliceStation. Allows Drones to interact with this
|
||||||
|
* building.
|
||||||
|
*/
|
||||||
|
public class PoliceStation extends NeighborBuilding {
|
||||||
|
|
||||||
|
public PoliceStation(int x, int y, String name, Building building) {
|
||||||
|
super(x, y, name, building);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
13
src/net/grosinger/nomads/RepairShop.java
Normal file
13
src/net/grosinger/nomads/RepairShop.java
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package net.grosinger.nomads;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A representation of a RepairShop. Allows Drones to interact with this
|
||||||
|
* building.
|
||||||
|
*/
|
||||||
|
public class RepairShop extends NeighborBuilding {
|
||||||
|
|
||||||
|
public RepairShop(int x, int y, String name, Building building) {
|
||||||
|
super(x, y, name, building);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -2,10 +2,13 @@ package net.grosinger.nomads;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class TownHall extends Building {
|
/**
|
||||||
|
* A representation of a TownHall. Allows Drones to interact with this building.
|
||||||
|
*/
|
||||||
|
public class TownHall extends NeighborBuilding {
|
||||||
|
|
||||||
public TownHall(int newX, int newY) {
|
public TownHall(int x, int y, String name, Building building) {
|
||||||
super(Structure.TOWNHALL, newX, newY);
|
super(x, y, name, building);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void cashInventory(ArrayList<GameObject> inventory, DroneTeam team) {
|
public void cashInventory(ArrayList<GameObject> inventory, DroneTeam team) {
|
||||||
|
13
src/net/grosinger/nomads/UpgradeShop.java
Normal file
13
src/net/grosinger/nomads/UpgradeShop.java
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package net.grosinger.nomads;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A representation of an UpgradeShop. Allows Drones to interact with this
|
||||||
|
* building.
|
||||||
|
*/
|
||||||
|
public class UpgradeShop extends NeighborBuilding {
|
||||||
|
|
||||||
|
public UpgradeShop(int x, int y, String name, Building building) {
|
||||||
|
super(x, y, name, building);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Reference in New Issue
Block a user