Compare commits
10 Commits
f0844a6564
...
0495018430
Author | SHA1 | Date |
---|---|---|
Brett | 0495018430 | |
Brett | 9a7aa7c6b3 | |
Brett | 5b516418ed | |
Brett | 27b9b240a3 | |
Brett | 02504e59a6 | |
mike | 7e90cd8435 | |
mike | af4788969a | |
Brett | 55edf6fe54 | |
mike | 84271b265b | |
mike | a357975440 |
|
@ -1,34 +1,13 @@
|
|||
package ca.cosc3p91.a2;
|
||||
|
||||
import ca.cosc3p91.a2.game.GameEngine;
|
||||
import ca.cosc3p91.a2.util.Print;
|
||||
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
GameEngine engine = new GameEngine();
|
||||
|
||||
<<<<<<< HEAD
|
||||
engine.printMap();
|
||||
=======
|
||||
Print test = new Print("Hello There", 2);
|
||||
|
||||
test.addColumn(new Print.Column("I am value 1"));
|
||||
test.addColumn(new Print.Column("Super Value"));
|
||||
test.addColumn(new Print.Column("SOLD!"));
|
||||
|
||||
Print.Row row = new Print.Row();
|
||||
row.add("HelloThere");
|
||||
row.add("Goodbye");
|
||||
row.add("3");
|
||||
|
||||
test.addRow(row);
|
||||
test.addRow(row);
|
||||
test.addRow(row);
|
||||
|
||||
Print.print(test.createTable());
|
||||
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
engine.printState();
|
||||
engine.run();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,43 +1,40 @@
|
|||
package ca.cosc3p91.a2.game;
|
||||
|
||||
import ca.cosc3p91.a2.gameobjects.Building;
|
||||
import ca.cosc3p91.a2.gameobjects.VillageStage;
|
||||
import ca.cosc3p91.a2.gameobjects.Village_Hall;
|
||||
import ca.cosc3p91.a2.player.Player;
|
||||
import ca.cosc3p91.a2.gameobjects.*;
|
||||
import ca.cosc3p91.a2.player.*;
|
||||
|
||||
public class GameEngine implements Runnable {
|
||||
|
||||
private final boolean running = true;
|
||||
|
||||
private Player player;
|
||||
|
||||
private int pillageFactor;
|
||||
|
||||
private int currentTime;
|
||||
|
||||
<<<<<<< HEAD
|
||||
public GameEngine () {
|
||||
player = new Player();
|
||||
VillageStage vInitialStage = new VillageStage(100,0,2,30,0,
|
||||
0, 12,12,12);
|
||||
map = new Map(new Village_Hall(1,vInitialStage),30);
|
||||
}
|
||||
|
||||
public void printMap() {
|
||||
System.out.println("~ Current Map State ~\n\n");
|
||||
System.out.println("In Map:\n");
|
||||
for (Building b : map.contains) {
|
||||
System.out.println("|> "+b.getClass().toString()+" lvl: "+b.getLevel()+" health: "+b.getHealth());
|
||||
}
|
||||
}
|
||||
|
||||
public void attackVillage(Map map) {
|
||||
}
|
||||
=======
|
||||
public Map map;
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
public void attackVIllage(Map map) {
|
||||
public GameEngine() {
|
||||
player = new Player();
|
||||
VillageStage vInitialStage = new VillageStage(100, 0, 2, 30, 0,
|
||||
0, 12, 12, 12);
|
||||
map = new Map(new Village_Hall(1, vInitialStage), 30);
|
||||
}
|
||||
|
||||
public void printState() {
|
||||
// Print toPrint = new Print("~ Current Village Buildings ~",2);
|
||||
|
||||
System.out.println("In Map:\n");
|
||||
System.out.println("\t~ Current Village Buildings ~\n");
|
||||
for (Building b : map.contains) {
|
||||
System.out.println("\t|> " + b.getClass().getSimpleName() + " lvl: " + b.getLevel() + " health: " + b.getHealth());
|
||||
}
|
||||
System.out.println("\n\t~ Current Village Inhabitants ~\n\n");
|
||||
for (Inhabitant i : map.inhabitants) {
|
||||
System.out.println("\t|> " + i.getClass().getSimpleName() + " lvl: " + i.getLevel());
|
||||
}
|
||||
}
|
||||
|
||||
public void attackVillage(Map map) {
|
||||
}
|
||||
|
||||
public Map generateMap() {
|
||||
|
@ -49,8 +46,6 @@ public class GameEngine implements Runnable {
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
while (running) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,71 +5,44 @@ import ca.cosc3p91.a2.gameobjects.*;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
<<<<<<< HEAD
|
||||
public class Map {
|
||||
|
||||
static int MAXSIZE = 400;
|
||||
|
||||
private Village_Hall townHall;
|
||||
=======
|
||||
|
||||
public class Map {
|
||||
static int MAXSIZE = 400;
|
||||
|
||||
private Village_Hall townHall;
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
private int guardTime;
|
||||
|
||||
<<<<<<< HEAD
|
||||
public List<Building> contains;
|
||||
=======
|
||||
private List<Building> contains;
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
public List<Building> contains;
|
||||
|
||||
public List<Inhabitant> inhabitants;
|
||||
|
||||
<<<<<<< HEAD
|
||||
public Map (Village_Hall villageHall, int gTime) {
|
||||
contains = new ArrayList<>();
|
||||
inhabitants = new ArrayList<>();
|
||||
this.townHall = villageHall;
|
||||
this.contains.add(villageHall);
|
||||
this.guardTime = gTime;
|
||||
}
|
||||
public Map(Village_Hall villageHall, int gTime) {
|
||||
contains = new ArrayList<>();
|
||||
inhabitants = new ArrayList<>();
|
||||
this.townHall = villageHall;
|
||||
this.contains.add(villageHall);
|
||||
this.guardTime = gTime;
|
||||
}
|
||||
|
||||
public void move(Infantry i, Tile t) {
|
||||
|
||||
}
|
||||
|
||||
public void inRange(Infantry i, Building b) {
|
||||
|
||||
}
|
||||
|
||||
public void build(Village_Hall hall, Tile t, Building b) {
|
||||
contains.add(b);
|
||||
}
|
||||
=======
|
||||
public void move(Infantry i, Tile t) {
|
||||
|
||||
}
|
||||
|
||||
public void inRange(Infantry i, Building b) {
|
||||
|
||||
}
|
||||
|
||||
public void build(Village_Hall hall, Tile t, Building b) {
|
||||
public void build(Tile t, Building b) {
|
||||
contains.add(b);
|
||||
}
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
public int getGuardTime() {
|
||||
return guardTime;
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
public void setGuardTime(int gTime) {
|
||||
this.guardTime = gTime;
|
||||
}
|
||||
=======
|
||||
public void setGuardTime() {
|
||||
public void setGuardTime(int gTime) {
|
||||
this.guardTime = gTime;
|
||||
}
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
}
|
||||
|
|
|
@ -1,4 +1,28 @@
|
|||
package ca.cosc3p91.a2.gameobjects;
|
||||
|
||||
public class Archer extends Infantry {
|
||||
|
||||
public Archer() {
|
||||
super(90, 2, 10);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void move(Tile t) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPosition() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLevel() {
|
||||
return super.getLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int setLevel(int level) {
|
||||
return super.setLevel(level);
|
||||
}
|
||||
}
|
|
@ -4,43 +4,22 @@ import java.util.ArrayList;
|
|||
|
||||
public abstract class Building {
|
||||
|
||||
<<<<<<< HEAD
|
||||
// members
|
||||
private int level;
|
||||
private int health;
|
||||
|
||||
private Stage stage;
|
||||
|
||||
private int goldCost;
|
||||
private int ironCost;
|
||||
private int woodCost;
|
||||
=======
|
||||
private static int level;
|
||||
|
||||
// members
|
||||
private int level;
|
||||
private int health;
|
||||
|
||||
private static Stage stages;
|
||||
private Stage stage;
|
||||
|
||||
private int goldCost;
|
||||
|
||||
private int ironCost;
|
||||
|
||||
private int woodCost;
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
private int buildTime;
|
||||
|
||||
<<<<<<< HEAD
|
||||
public ArrayList<Tile> tiles = new ArrayList<>();
|
||||
public ArrayList<Inhabitant> inhabitants = new ArrayList<>();
|
||||
public ArrayList<Tile> tiles = new ArrayList<>();
|
||||
public ArrayList<Inhabitant> inhabitants = new ArrayList<>();
|
||||
|
||||
// functions
|
||||
=======
|
||||
public List<Stage> stage;
|
||||
public Tile tile;
|
||||
|
||||
public List<Inhabitant> inhabitant;
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
// functions
|
||||
|
||||
public int getLevel() {
|
||||
return level;
|
||||
|
@ -50,58 +29,43 @@ public abstract class Building {
|
|||
return health;
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
public int getCost(String type) {
|
||||
return (type.equals("gold"))?(goldCost):
|
||||
(type.equals("iron"))?(ironCost):woodCost;
|
||||
}
|
||||
|
||||
public Stage getStage() {
|
||||
return stage;
|
||||
}
|
||||
=======
|
||||
public int getCost(String type) {
|
||||
return 0;
|
||||
return (type.equals("gold")) ? (goldCost) :
|
||||
(type.equals("iron")) ? (ironCost) : woodCost;
|
||||
}
|
||||
|
||||
public Stage getStage() {
|
||||
return stage;
|
||||
}
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
public int getUpgradeCost() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
public void setLevel(int level) {
|
||||
this.level = level;
|
||||
}
|
||||
public void setLevel(int level) {
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
public void setHealth(int health) {
|
||||
this.health = health;
|
||||
}
|
||||
public void setHealth(int health) {
|
||||
this.health = health;
|
||||
}
|
||||
|
||||
public void setStage(Stage stage) {this.stage = stage; }
|
||||
public void setStage(Stage stage) {
|
||||
this.stage = stage;
|
||||
}
|
||||
|
||||
public void addInhabitant(Inhabitant newMember) {
|
||||
inhabitants.add(newMember);
|
||||
// newMember.setBuilding(this);
|
||||
}
|
||||
|
||||
public void upgrade(Stage stage) {
|
||||
this.stage = stage;
|
||||
this.health += stage.dHealth;
|
||||
// interact with the timer regarding Upgrade time
|
||||
}
|
||||
|
||||
public int getBuildTime() {
|
||||
return buildTime;
|
||||
}
|
||||
=======
|
||||
public void upgrade() {
|
||||
public void addInhabitant(Inhabitant newMember) {
|
||||
inhabitants.add(newMember);
|
||||
// newMember.setBuilding(this);
|
||||
}
|
||||
|
||||
public void upgrade(Stage stage) {
|
||||
this.stage = stage;
|
||||
this.health += stage.dHealth;
|
||||
// interact with the timer regarding Upgrade time
|
||||
}
|
||||
|
||||
public int getBuildTime() {
|
||||
return 0;
|
||||
return buildTime;
|
||||
}
|
||||
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
}
|
||||
|
|
|
@ -1,4 +1,28 @@
|
|||
package ca.cosc3p91.a2.gameobjects;
|
||||
|
||||
public class Catapult extends Infantry {
|
||||
|
||||
public Catapult() {
|
||||
super(80, 12, 12);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void move(Tile t) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPosition() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLevel() {
|
||||
return super.getLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int setLevel(int level) {
|
||||
return super.setLevel(level);
|
||||
}
|
||||
}
|
|
@ -2,20 +2,14 @@ package ca.cosc3p91.a2.gameobjects;
|
|||
|
||||
public class DefenseBuilding extends Building {
|
||||
|
||||
<<<<<<< HEAD
|
||||
private int damage;
|
||||
private int range;
|
||||
private int damage;
|
||||
private int range;
|
||||
|
||||
public void upgrade(DefenseStage stage) {
|
||||
super.upgrade(stage);
|
||||
this.damage += stage.getDamageChange();
|
||||
this.range += stage.getRangeChange();
|
||||
}
|
||||
=======
|
||||
public int damage;
|
||||
|
||||
public int range;
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
public void upgrade(DefenseStage stage) {
|
||||
super.upgrade(stage);
|
||||
this.damage += stage.getDamageChange();
|
||||
this.range += stage.getRangeChange();
|
||||
}
|
||||
|
||||
public void attack(Infantry attacker) {
|
||||
|
||||
|
|
|
@ -2,35 +2,23 @@ package ca.cosc3p91.a2.gameobjects;
|
|||
|
||||
class DefenseStage extends Stage {
|
||||
|
||||
<<<<<<< HEAD
|
||||
protected int dDamage;
|
||||
=======
|
||||
protected int dDamge;
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
protected int dDamage;
|
||||
|
||||
protected int dRange;
|
||||
|
||||
<<<<<<< HEAD
|
||||
public DefenseStage(int dHealth, int goldCost, int requiredVillageLevel, int upgradeTime, int ironCost, int woodCost,
|
||||
int damageIncrease, int rangeIncrease) {
|
||||
super(dHealth,goldCost,requiredVillageLevel,upgradeTime,ironCost,woodCost);
|
||||
this.dDamage = damageIncrease;
|
||||
this.dRange = rangeIncrease;
|
||||
}
|
||||
|
||||
public int getDamageChange() {
|
||||
return dDamage;
|
||||
}
|
||||
|
||||
public int getRangeChange() {
|
||||
return dRange;
|
||||
}
|
||||
=======
|
||||
public void getDamageChange() {
|
||||
public DefenseStage(int dHealth, int goldCost, int requiredVillageLevel, int upgradeTime, int ironCost, int woodCost,
|
||||
int damageIncrease, int rangeIncrease) {
|
||||
super(dHealth, goldCost, requiredVillageLevel, upgradeTime, ironCost, woodCost);
|
||||
this.dDamage = damageIncrease;
|
||||
this.dRange = rangeIncrease;
|
||||
}
|
||||
|
||||
public void getRangeChange() {
|
||||
public int getDamageChange() {
|
||||
return dDamage;
|
||||
}
|
||||
|
||||
public int getRangeChange() {
|
||||
return dRange;
|
||||
}
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
}
|
|
@ -2,17 +2,15 @@ package ca.cosc3p91.a2.gameobjects;
|
|||
|
||||
public class Farm extends ResourceBuilding {
|
||||
|
||||
public Farm (int lvl, ResourceStage baseStage) {
|
||||
setLevel(lvl);
|
||||
upgrade(baseStage);
|
||||
}
|
||||
public Farm(int lvl, ResourceStage baseStage) {
|
||||
setLevel(lvl);
|
||||
upgrade(baseStage);
|
||||
}
|
||||
|
||||
public int getPopulationContribution() {
|
||||
return 0;
|
||||
return getHarvestRate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void harvest(Village_Hall hall) {
|
||||
|
||||
}
|
||||
public void harvest(Village_Hall hall) {}
|
||||
}
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
package ca.cosc3p91.a2.gameobjects;
|
||||
|
||||
public class GoldMine extends ResourceBuilding {
|
||||
|
||||
<<<<<<< HEAD
|
||||
public static String resource = "gold";
|
||||
|
||||
public GoldMine (int lvl, ResourceStage baseStage) {
|
||||
setLevel(lvl);
|
||||
upgrade(baseStage);
|
||||
}
|
||||
=======
|
||||
public static String resource = "good";
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
@Override
|
||||
public void harvest(Village_Hall hall) {
|
||||
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
package ca.cosc3p91.a2.gameobjects;
|
||||
|
||||
public abstract class Infantry {
|
||||
public abstract class Infantry implements Inhabitant {
|
||||
|
||||
private int health;
|
||||
|
||||
|
@ -8,16 +8,36 @@ public abstract class Infantry {
|
|||
|
||||
private int range;
|
||||
|
||||
public Infantry(int hitPoints, int damage, int range) {
|
||||
this.health = hitPoints;
|
||||
this.damage = damage;
|
||||
this.range = range;
|
||||
}
|
||||
|
||||
public void attack(Building b) {
|
||||
}
|
||||
|
||||
public void getHealth() {
|
||||
public int getHealth() {
|
||||
return health;
|
||||
}
|
||||
|
||||
public void getDamage() {
|
||||
public int getDamage() {
|
||||
return damage;
|
||||
}
|
||||
|
||||
public void getRange() {
|
||||
public int getRange() {
|
||||
return range;
|
||||
}
|
||||
|
||||
public void setHealth(int health) {
|
||||
this.health = health;
|
||||
}
|
||||
|
||||
public void setDamage(int damage) {
|
||||
this.damage = damage;
|
||||
}
|
||||
|
||||
public void setRange(int range) {
|
||||
this.range = range;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,9 +6,18 @@ public interface Inhabitant {
|
|||
|
||||
Map map = null;
|
||||
Building building = null;
|
||||
int lvl = 1;
|
||||
|
||||
void move(Tile t);
|
||||
|
||||
void getPosition();
|
||||
|
||||
default int getLevel() {
|
||||
return lvl;
|
||||
}
|
||||
|
||||
default int setLevel(int level) {
|
||||
return lvl;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,18 +4,13 @@ public class IronMine extends ResourceBuilding {
|
|||
|
||||
public static String resource = "iron";
|
||||
|
||||
<<<<<<< HEAD
|
||||
public IronMine (int lvl, ResourceStage baseStage) {
|
||||
setLevel(lvl);
|
||||
upgrade(baseStage);
|
||||
}
|
||||
public IronMine(int lvl, ResourceStage baseStage) {
|
||||
setLevel(lvl);
|
||||
upgrade(baseStage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void harvest(Village_Hall hall) {
|
||||
=======
|
||||
@Override
|
||||
public void harvest(Village_Hall hall) {
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
hall.addCurrentIron(getHarvestRate());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,28 @@
|
|||
package ca.cosc3p91.a2.gameobjects;
|
||||
|
||||
public class Knight extends Infantry {
|
||||
|
||||
public Knight() {
|
||||
super(150, 6, 6);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void move(Tile t) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPosition() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLevel() {
|
||||
return super.getLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int setLevel(int level) {
|
||||
return super.setLevel(level);
|
||||
}
|
||||
}
|
|
@ -4,17 +4,13 @@ public class LumberMine extends ResourceBuilding {
|
|||
|
||||
public static String resource = "wood";
|
||||
|
||||
<<<<<<< HEAD
|
||||
public LumberMine (int lvl, ResourceStage baseStage) {
|
||||
setLevel(lvl);
|
||||
upgrade(baseStage);
|
||||
}
|
||||
|
||||
public void harvest(Village_Hall hall) {
|
||||
=======
|
||||
public void harvest(Village_Hall hall) {
|
||||
|
||||
public LumberMine(int lvl, ResourceStage baseStage) {
|
||||
setLevel(lvl);
|
||||
upgrade(baseStage);
|
||||
}
|
||||
|
||||
public void harvest(Village_Hall hall) {
|
||||
hall.addCurrentWood(getHarvestRate());
|
||||
}
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
}
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
package ca.cosc3p91.a2.gameobjects;
|
||||
|
||||
public abstract class ResourceBuidling extends Building {
|
||||
|
||||
public static String resource;
|
||||
|
||||
private int harvest_rate;
|
||||
|
||||
public abstract void harvest(Village_Hall hall);
|
||||
|
||||
}
|
|
@ -1,15 +1,36 @@
|
|||
package ca.cosc3p91.a2.gameobjects;
|
||||
|
||||
import ca.cosc3p91.a2.util.Time;
|
||||
|
||||
public abstract class ResourceBuilding extends Building {
|
||||
|
||||
public static String resource;
|
||||
private int harvest_rate;
|
||||
public static String resource;
|
||||
|
||||
public void upgrade(ResourceStage stage) {
|
||||
super.upgrade(stage);
|
||||
this.harvest_rate += stage.getHarvestRateIncrease();
|
||||
}
|
||||
private final Time harvestMinTime = new Time().offsetSeconds(10);
|
||||
|
||||
public abstract void harvest(Village_Hall hall);
|
||||
private int harvest_rate;
|
||||
private Time nextHarvestTime;
|
||||
|
||||
public ResourceBuilding() {
|
||||
nextHarvestTime = Time.getTime().offsetTime(harvestMinTime);
|
||||
}
|
||||
|
||||
public void upgrade(ResourceStage stage) {
|
||||
super.upgrade(stage);
|
||||
this.harvest_rate += stage.getHarvestRateIncrease();
|
||||
}
|
||||
|
||||
public void update(Village_Hall hall){
|
||||
if (nextHarvestTime.occurred()){
|
||||
harvest(hall);
|
||||
nextHarvestTime = Time.getTime().offsetTime(harvestMinTime);
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract void harvest(Village_Hall hall);
|
||||
|
||||
public int getHarvestRate(){
|
||||
return harvest_rate;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,20 +4,14 @@ public class ResourceStage extends Stage {
|
|||
|
||||
protected int harvestRateIncrease;
|
||||
|
||||
<<<<<<< HEAD
|
||||
public ResourceStage(int dHealth, int goldCost, int requiredVillageLevel, int upgradeTime, int ironCost, int woodCost,
|
||||
int harvestRateIncr) {
|
||||
super(dHealth,goldCost,requiredVillageLevel,upgradeTime,ironCost,woodCost);
|
||||
this.harvestRateIncrease = harvestRateIncr;
|
||||
}
|
||||
public ResourceStage(int dHealth, int goldCost, int requiredVillageLevel, int upgradeTime, int ironCost, int woodCost,
|
||||
int harvestRateIncr) {
|
||||
super(dHealth, goldCost, requiredVillageLevel, upgradeTime, ironCost, woodCost);
|
||||
this.harvestRateIncrease = harvestRateIncr;
|
||||
}
|
||||
|
||||
public int getHarvestRateIncrease() {
|
||||
return harvestRateIncrease;
|
||||
}
|
||||
=======
|
||||
public int getHarvestRateIncrease() {
|
||||
return harvestRateIncrease;
|
||||
}
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
package ca.cosc3p91.a2.gameobjects;
|
||||
|
||||
import ca.cosc3p91.a2.util.Time;
|
||||
|
||||
public class SaulGoodMine extends ResourceBuilding {
|
||||
|
||||
public static String resource = "gold";
|
||||
|
||||
public SaulGoodMine(int lvl, ResourceStage baseStage) {
|
||||
setLevel(lvl);
|
||||
upgrade(baseStage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void harvest(Village_Hall hall) {
|
||||
hall.addCurrentGold(getHarvestRate());
|
||||
}
|
||||
}
|
|
@ -1,4 +1,28 @@
|
|||
package ca.cosc3p91.a2.gameobjects;
|
||||
|
||||
public class Soldier extends Infantry {
|
||||
|
||||
public Soldier() {
|
||||
super(100, 4, 4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void move(Tile t) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPosition() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLevel() {
|
||||
return super.getLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int setLevel(int level) {
|
||||
return super.setLevel(level);
|
||||
}
|
||||
}
|
|
@ -14,34 +14,23 @@ abstract class Stage {
|
|||
|
||||
protected int woodCost;
|
||||
|
||||
<<<<<<< HEAD
|
||||
public Stage(int dHealth, int goldCost, int requiredVillageLevel, int upgradeTime, int ironCost, int woodCost) {
|
||||
this.dHealth = dHealth;
|
||||
this.goldCost = goldCost;
|
||||
this.requiredVillageLevel = requiredVillageLevel;
|
||||
this.upgradeTime = upgradeTime;
|
||||
this.ironCost = ironCost;
|
||||
this.woodCost = woodCost;
|
||||
}
|
||||
public Stage(int dHealth, int goldCost, int requiredVillageLevel, int upgradeTime, int ironCost, int woodCost) {
|
||||
this.dHealth = dHealth;
|
||||
this.goldCost = goldCost;
|
||||
this.requiredVillageLevel = requiredVillageLevel;
|
||||
this.upgradeTime = upgradeTime;
|
||||
this.ironCost = ironCost;
|
||||
this.woodCost = woodCost;
|
||||
}
|
||||
|
||||
public int getHealthChange() {
|
||||
return dHealth;
|
||||
}
|
||||
|
||||
public int getCost(String type) {
|
||||
return (type.equals("gold"))?(goldCost):
|
||||
(type.equals("iron"))?(ironCost):woodCost;
|
||||
}
|
||||
=======
|
||||
public Building building;
|
||||
|
||||
public void getHealthChange() {
|
||||
public int getHealthChange() {
|
||||
return dHealth;
|
||||
}
|
||||
|
||||
public int getCost(String type) {
|
||||
return 0;
|
||||
return (type.equals("gold")) ? (goldCost) :
|
||||
(type.equals("iron")) ? (ironCost) : woodCost;
|
||||
}
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
public int getRequiredVillageLevel() {
|
||||
return requiredVillageLevel;
|
||||
|
|
|
@ -8,9 +8,4 @@ public class Tile {
|
|||
|
||||
public int y;
|
||||
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
public List<Building> building;
|
||||
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
}
|
||||
|
|
|
@ -8,23 +8,17 @@ public class VillageStage extends Stage {
|
|||
|
||||
protected int woodCapacityIncrease;
|
||||
|
||||
<<<<<<< HEAD
|
||||
public VillageStage(int dHealth, int goldCost, int requiredVillageLevel, int upgradeTime, int ironCost, int woodCost,
|
||||
int goldCapIncrease, int ironCapIncrease, int woodCapIncrease) {
|
||||
super(dHealth,goldCost,requiredVillageLevel,upgradeTime,ironCost,woodCost);
|
||||
this.goldCapacityIncrease = goldCapIncrease;
|
||||
this.ironCapacityIncrease = ironCapIncrease;
|
||||
this.woodCapacityIncrease = woodCapIncrease;
|
||||
}
|
||||
public VillageStage(int dHealth, int goldCost, int requiredVillageLevel, int upgradeTime, int ironCost, int woodCost,
|
||||
int goldCapIncrease, int ironCapIncrease, int woodCapIncrease) {
|
||||
super(dHealth, goldCost, requiredVillageLevel, upgradeTime, ironCost, woodCost);
|
||||
this.goldCapacityIncrease = goldCapIncrease;
|
||||
this.ironCapacityIncrease = ironCapIncrease;
|
||||
this.woodCapacityIncrease = woodCapIncrease;
|
||||
}
|
||||
|
||||
public int getGoldCapacityIncrease() {
|
||||
return goldCapacityIncrease;
|
||||
}
|
||||
=======
|
||||
public int getGoldCapacityIncrease() {
|
||||
return goldCapacityIncrease;
|
||||
}
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
public int getIronCapacityIncrease() {
|
||||
return ironCapacityIncrease;
|
||||
|
|
|
@ -4,43 +4,26 @@ import java.util.ArrayList;
|
|||
|
||||
public class Village_Hall extends Building {
|
||||
|
||||
<<<<<<< HEAD
|
||||
private int goldCapacity = 0;
|
||||
private int goldCapacity = 0;
|
||||
private int ironCapacity = 0;
|
||||
private int woodCapacity = 0;
|
||||
|
||||
private int ironCapacity = 0;
|
||||
private int currentGold;
|
||||
private int currentIron;
|
||||
private int currentWood;
|
||||
|
||||
private int woodCapacity = 0;
|
||||
public Village_Hall(int lvl, VillageStage baseStage) {
|
||||
setLevel(lvl);
|
||||
upgrade(baseStage);
|
||||
}
|
||||
|
||||
public Village_Hall (int lvl, VillageStage baseStage) {
|
||||
setLevel(lvl);
|
||||
upgrade(baseStage);
|
||||
}
|
||||
public void upgrade(VillageStage stage) {
|
||||
super.upgrade(stage);
|
||||
this.goldCapacity += stage.getGoldCapacityIncrease();
|
||||
this.ironCapacity += stage.getIronCapacityIncrease();
|
||||
this.woodCapacity += stage.getWoodCapacityIncrease();
|
||||
}
|
||||
|
||||
public void upgrade(VillageStage stage) {
|
||||
super.upgrade(stage);
|
||||
this.goldCapacity += stage.getGoldCapacityIncrease();
|
||||
this.ironCapacity += stage.getIronCapacityIncrease();
|
||||
this.woodCapacity += stage.getWoodCapacityIncrease();
|
||||
}
|
||||
|
||||
|
||||
public int getGoldCapacity() {
|
||||
return goldCapacity;
|
||||
}
|
||||
|
||||
public int getIronCapacity() {
|
||||
return ironCapacity;
|
||||
}
|
||||
|
||||
public int getWoodCapacity() {
|
||||
return woodCapacity;
|
||||
}
|
||||
=======
|
||||
private int goldCapacity;
|
||||
|
||||
private int ironCapacity;
|
||||
|
||||
private int woodCapacity;
|
||||
|
||||
public int getGoldCapacity() {
|
||||
return goldCapacity;
|
||||
|
@ -53,6 +36,28 @@ public class Village_Hall extends Building {
|
|||
public int getWoodCapacity() {
|
||||
return woodCapacity;
|
||||
}
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
public int getCurrentGold() {
|
||||
return currentGold;
|
||||
}
|
||||
|
||||
public void addCurrentGold(int currentGold) {
|
||||
this.currentGold += currentGold;
|
||||
}
|
||||
|
||||
public int getCurrentIron() {
|
||||
return currentIron;
|
||||
}
|
||||
|
||||
public void addCurrentIron(int currentIron) {
|
||||
this.currentIron += currentIron;
|
||||
}
|
||||
|
||||
public int getCurrentWood() {
|
||||
return currentWood;
|
||||
}
|
||||
|
||||
public void addCurrentWood(int currentWood) {
|
||||
this.currentWood += currentWood;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,34 @@
|
|||
package ca.cosc3p91.a2.gameobjects;
|
||||
|
||||
public class Worker {
|
||||
public class Worker implements Inhabitant {
|
||||
|
||||
private boolean currentlyBuilding;
|
||||
|
||||
public void set_IsBuilding(boolean state) {
|
||||
currentlyBuilding = state;
|
||||
}
|
||||
|
||||
public boolean isCurrentlyBuilding() {
|
||||
return currentlyBuilding;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void move(Tile t) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPosition() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLevel() {
|
||||
return Inhabitant.super.getLevel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int setLevel(int level) {
|
||||
return Inhabitant.super.setLevel(level);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,16 +2,5 @@ package ca.cosc3p91.a2.player;
|
|||
|
||||
public class Player {
|
||||
|
||||
<<<<<<< HEAD
|
||||
public int currentGold;
|
||||
public int currentIron;
|
||||
public int currentWood;
|
||||
=======
|
||||
public int currentGold;
|
||||
|
||||
public int currentIron;
|
||||
|
||||
public int currentWood;
|
||||
>>>>>>> abf784868daa920a9ca8b3b9d291a7cf521aa9c7
|
||||
|
||||
}
|
|
@ -15,11 +15,11 @@ public class Print {
|
|||
this.values = row;
|
||||
}
|
||||
|
||||
public Row(){
|
||||
public Row() {
|
||||
this.values = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void add(String value){
|
||||
public void add(String value) {
|
||||
values.add(value);
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ public class Print {
|
|||
private final String columnName;
|
||||
private long maxColumnLength = 0;
|
||||
|
||||
public Column(String columnName){
|
||||
public Column(String columnName) {
|
||||
this.columnName = columnName;
|
||||
}
|
||||
}
|
||||
|
@ -40,18 +40,18 @@ public class Print {
|
|||
private final int columnPadding;
|
||||
private int maxColumnWidth;
|
||||
|
||||
public Print(String tableName, int columnPadding){
|
||||
public Print(String tableName, int columnPadding) {
|
||||
this.tableName = tableName;
|
||||
this.columnPadding = columnPadding;
|
||||
}
|
||||
|
||||
public Print(){
|
||||
public Print() {
|
||||
this("", 2);
|
||||
}
|
||||
|
||||
private String createPadding(int amount) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (int i = 0; i < amount; i++){
|
||||
for (int i = 0; i < amount; i++) {
|
||||
builder.append(' ');
|
||||
}
|
||||
return builder.toString();
|
||||
|
@ -64,8 +64,8 @@ public class Print {
|
|||
StringBuilder halfWidthLeftSeparator = new StringBuilder();
|
||||
StringBuilder halfWidthRightSeparator = new StringBuilder();
|
||||
|
||||
long sizeNameFloor = (long) Math.floor((double)sizeNameRemoved / 2.0);
|
||||
long sizeNameCeil = (long) Math.ceil((double)sizeNameRemoved / 2.0);
|
||||
long sizeNameFloor = (long) Math.floor((double) sizeNameRemoved / 2.0);
|
||||
long sizeNameCeil = (long) Math.ceil((double) sizeNameRemoved / 2.0);
|
||||
|
||||
halfWidthLeftSeparator.append('+');
|
||||
|
||||
|
@ -78,7 +78,7 @@ public class Print {
|
|||
|
||||
StringBuilder separator = new StringBuilder();
|
||||
separator.append(halfWidthLeftSeparator.toString());
|
||||
if (sizeOfName != 0){
|
||||
if (sizeOfName != 0) {
|
||||
separator.append("{ ");
|
||||
separator.append(tableName);
|
||||
separator.append(" }");
|
||||
|
@ -87,20 +87,20 @@ public class Print {
|
|||
return separator.toString();
|
||||
}
|
||||
|
||||
private String generateColumnHeader(){
|
||||
private String generateColumnHeader() {
|
||||
updateColumnLengths();
|
||||
StringBuilder header = new StringBuilder();
|
||||
header.append('|');
|
||||
|
||||
for (int i = 0; i < columns.size(); i++){
|
||||
for (int i = 0; i < columns.size(); i++) {
|
||||
Column column = columns.get(i);
|
||||
double columnPaddingLength = ((int)(column.maxColumnLength) - (int)(column.columnName.length()))/2.0;
|
||||
header.append(createPadding((int)(columnPadding + (int)Math.floor(columnPaddingLength))));
|
||||
double columnPaddingLength = ((int) (column.maxColumnLength) - (int) (column.columnName.length())) / 2.0;
|
||||
header.append(createPadding((int) (columnPadding + (int) Math.floor(columnPaddingLength))));
|
||||
|
||||
header.append(column.columnName);
|
||||
|
||||
header.append(createPadding((int)(columnPadding + (int)Math.ceil(columnPaddingLength))));
|
||||
if (i < columns.size()-1)
|
||||
header.append(createPadding((int) (columnPadding + (int) Math.ceil(columnPaddingLength))));
|
||||
if (i < columns.size() - 1)
|
||||
header.append('|');
|
||||
}
|
||||
header.append('|');
|
||||
|
@ -115,7 +115,7 @@ public class Print {
|
|||
for (int i = 0; i < size; i++) {
|
||||
if (i == nextIndex) {
|
||||
System.out.println(currentColumnIndex + " " + nextIndex + " " + size);
|
||||
int currentColumnSize = (int) (columns.get(currentColumnIndex++).maxColumnLength + columnPadding*2);
|
||||
int currentColumnSize = (int) (columns.get(currentColumnIndex++).maxColumnLength + columnPadding * 2);
|
||||
nextIndex += currentColumnSize + 1;
|
||||
wholeWidthSeparator.append('+');
|
||||
} else
|
||||
|
@ -139,7 +139,7 @@ public class Print {
|
|||
return column.columnName.length() + columnPadding * 2L;
|
||||
}
|
||||
|
||||
public Print addColumn(Column column){
|
||||
public Print addColumn(Column column) {
|
||||
columns.add(column);
|
||||
return this;
|
||||
}
|
||||
|
@ -154,11 +154,11 @@ public class Print {
|
|||
return this;
|
||||
}
|
||||
|
||||
public Print addRow(ArrayList<String> row){
|
||||
public Print addRow(ArrayList<String> row) {
|
||||
return addRow(new Row(row));
|
||||
}
|
||||
|
||||
public ArrayList<String> createTable(boolean top, boolean bottom, boolean separators){
|
||||
public ArrayList<String> createTable(boolean top, boolean bottom, boolean separators) {
|
||||
ArrayList<String> lines = new ArrayList<>();
|
||||
|
||||
String header = generateColumnHeader();
|
||||
|
@ -174,13 +174,13 @@ public class Print {
|
|||
for (Row row : rows) {
|
||||
StringBuilder rowLine = new StringBuilder();
|
||||
rowLine.append('|');
|
||||
for (int i = 0; i < row.values.size(); i++){
|
||||
for (int i = 0; i < row.values.size(); i++) {
|
||||
String value = row.values.get(i);
|
||||
Column column = columns.get(i);
|
||||
int spaceLeft = (int)(column.maxColumnLength - value.length());
|
||||
rowLine.append(createPadding((int)Math.floor(spaceLeft / 2.0) + columnPadding));
|
||||
int spaceLeft = (int) (column.maxColumnLength - value.length());
|
||||
rowLine.append(createPadding((int) Math.floor(spaceLeft / 2.0) + columnPadding));
|
||||
rowLine.append(value);
|
||||
rowLine.append(createPadding((int)Math.ceil(spaceLeft / 2.0) + columnPadding));
|
||||
rowLine.append(createPadding((int) Math.ceil(spaceLeft / 2.0) + columnPadding));
|
||||
rowLine.append('|');
|
||||
}
|
||||
lines.add(rowLine.toString());
|
||||
|
@ -192,7 +192,7 @@ public class Print {
|
|||
return lines;
|
||||
}
|
||||
|
||||
public ArrayList<String> createBox(){
|
||||
public ArrayList<String> createBox() {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
|
@ -200,7 +200,7 @@ public class Print {
|
|||
return createTable(true, true, true);
|
||||
}
|
||||
|
||||
public static void print(ArrayList<String> lines){
|
||||
public static void print(ArrayList<String> lines) {
|
||||
for (String line : lines)
|
||||
System.out.println(line);
|
||||
}
|
||||
|
|
|
@ -37,16 +37,8 @@ public class Time {
|
|||
return timeSeconds;
|
||||
}
|
||||
|
||||
public static class FutureTime {
|
||||
private final Time futureTime;
|
||||
|
||||
public FutureTime(Time futureTime) {
|
||||
this.futureTime = futureTime;
|
||||
}
|
||||
|
||||
public boolean occurred() {
|
||||
return getTime().timeSeconds >= futureTime.timeSeconds;
|
||||
}
|
||||
public boolean occurred() {
|
||||
return getTime().timeSeconds >= timeSeconds;
|
||||
}
|
||||
|
||||
public static Time getTime() {
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue