92 lines
2.9 KiB
Java
92 lines
2.9 KiB
Java
package ca.cosc3p91.a2.game;
|
|
|
|
import ca.cosc3p91.a2.gameobjects.*;
|
|
import ca.cosc3p91.a2.player.*;
|
|
import ca.cosc3p91.a2.util.Print;
|
|
|
|
import java.util.Scanner;
|
|
|
|
public class GameEngine implements Runnable {
|
|
|
|
private Player player;
|
|
boolean running = true;
|
|
|
|
private int pillageFactor;
|
|
|
|
private int currentTime;
|
|
|
|
public Map map;
|
|
|
|
public GameEngine() {
|
|
player = new Player();
|
|
VillageStage vInitialStage = new VillageStage(100, 0, 2, 30, 0,
|
|
0, 1000, 2500, 5000);
|
|
map = new Map(new VillageHall(1, vInitialStage), 30);
|
|
}
|
|
|
|
private void printState() {
|
|
Print resourcesPrinter = new Print("Current Village Resources", 2);
|
|
|
|
resourcesPrinter.addColumn(new Print.Column("Resource Type"));
|
|
resourcesPrinter.addColumn(new Print.Column("Max"));
|
|
resourcesPrinter.addColumn(new Print.Column("Amount"));
|
|
|
|
resourcesPrinter.addRow(new Print.Row(
|
|
"Wood",
|
|
Integer.toString(map.getTownHall().getWoodCapacity()),
|
|
Integer.toString(map.getTownHall().getCurrentWood())));
|
|
|
|
resourcesPrinter.addRow(new Print.Row(
|
|
"Iron",
|
|
Integer.toString(map.getTownHall().getIronCapacity()),
|
|
Integer.toString(map.getTownHall().getCurrentIron())));
|
|
|
|
resourcesPrinter.addRow(new Print.Row(
|
|
"Gold",
|
|
Integer.toString(map.getTownHall().getGoldCapacity()),
|
|
Integer.toString(map.getTownHall().getCurrentGold())));
|
|
|
|
Print.print(resourcesPrinter.createTable(true, false, true));
|
|
|
|
Print buildingPrinter = new Print("Village Buildings", 2, resourcesPrinter.getWidth());
|
|
buildingPrinter.addColumn(new Print.Column("Name"));
|
|
buildingPrinter.addColumn(new Print.Column("Level"));
|
|
buildingPrinter.addColumn(new Print.Column("Health"));
|
|
|
|
for (Building b : map.contains)
|
|
buildingPrinter.addRow(new Print.Row(b.getClass().getSimpleName(),
|
|
Integer.toString(b.getLevel()),
|
|
Integer.toString(b.getHealth())));
|
|
|
|
Print.print(buildingPrinter.createTable(true, false, true));
|
|
|
|
Print inhabs = new Print("Village Inhabitants", 2, buildingPrinter.getWidth());
|
|
inhabs.addColumn(new Print.Column("Name"));
|
|
inhabs.addColumn(new Print.Column("Level"));
|
|
|
|
for (Inhabitant i : map.inhabitants)
|
|
inhabs.addRow(new Print.Row(i.getClass().getSimpleName(), Integer.toString(i.getLevel())));
|
|
|
|
Print.print(inhabs.createTable(true, true, true));
|
|
}
|
|
|
|
public void attackVillage(Map map) {
|
|
}
|
|
|
|
public Map generateMap() {
|
|
return null;
|
|
}
|
|
|
|
public void getScore(Map map) {
|
|
}
|
|
|
|
@Override
|
|
public void run() {
|
|
Scanner sc = new Scanner(System.in);
|
|
while (running) {
|
|
printState();
|
|
int in = sc.nextInt();
|
|
}
|
|
}
|
|
}
|