chore: testing all methods again

This commit is contained in:
2025-05-11 12:53:40 +02:00
parent a5599d80fc
commit 393e46d8a5
4 changed files with 86 additions and 9 deletions

View File

@@ -29,7 +29,7 @@ public class Game {
private final List<Item> buildings = new ArrayList<>(); private final List<Item> buildings = new ArrayList<>();
@Getter @Getter
private final Market market = new Market(this); private Market market;
public void generateStats() { public void generateStats() {
forestType = ForestType.getRandom(); forestType = ForestType.getRandom();
@@ -45,6 +45,8 @@ public class Game {
buildings.add(Item.WELL); buildings.add(Item.WELL);
} }
player.setCoins(1000); player.setCoins(1000);
market = new Market(this);
} }
public void build(Item item) { public void build(Item item) {

View File

@@ -7,7 +7,6 @@ import java.util.function.Function;
public enum Item implements Buildable { public enum Item implements Buildable {
AXE("Axe", false, 5), AXE("Axe", false, 5),
SCYTHE("Scythe", false, 5),
WHEAT("Wheat", false, 0), WHEAT("Wheat", false, 0),
HOPS("Hops", false, 0), HOPS("Hops", false, 0),
@@ -112,7 +111,7 @@ public enum Item implements Buildable {
}; };
BAKERY.canBeBuiltFunction = game -> { BAKERY.canBeBuiltFunction = game -> {
if (!game.getBuildings().contains(Item.WHEAT_SEEDS)) { if (!game.getBuildings().contains(Item.WHEAT_FARMLAND)) {
System.out.println(" "); // TODO System.out.println(" "); // TODO
return false; return false;
} }
@@ -120,7 +119,7 @@ public enum Item implements Buildable {
}; };
PUB.canBeBuiltFunction = game -> { PUB.canBeBuiltFunction = game -> {
if (!game.getBuildings().contains(Item.HOPS_SEEDS)) { if (!game.getBuildings().contains(Item.HOPS_FARMLAND)) {
System.out.println(" "); // TODO System.out.println(" "); // TODO
return false; return false;
} }
@@ -128,7 +127,7 @@ public enum Item implements Buildable {
}; };
WINERY.canBeBuiltFunction = game -> { WINERY.canBeBuiltFunction = game -> {
if (!game.getBuildings().contains(Item.GRAPEVINE_SEEDS)) { if (!game.getBuildings().contains(Item.VINEYARD)) {
System.out.println(" "); // TODO System.out.println(" "); // TODO
return false; return false;
} }

View File

@@ -66,6 +66,7 @@ public class Main {
} catch (ItemNotAvailableException e) { } catch (ItemNotAvailableException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
System.out.println("coins: " + game.getPlayer().getCoins()); System.out.println("coins: " + game.getPlayer().getCoins());
System.out.println("inventory: " + game.getPlayer().getInventory()); System.out.println("inventory: " + game.getPlayer().getInventory());
System.out.println(); System.out.println();
@@ -95,6 +96,13 @@ public class Main {
System.out.println("buildings: " + game.getBuildings()); System.out.println("buildings: " + game.getBuildings());
System.out.println(); System.out.println();
game.build(Item.BAKERY);
System.out.println("coins: " + game.getPlayer().getCoins());
System.out.println("inventory: " + game.getPlayer().getInventory());
System.out.println("buildings: " + game.getBuildings());
System.out.println();
game.produce(Item.BAKERY); game.produce(Item.BAKERY);
System.out.println("coins: " + game.getPlayer().getCoins()); System.out.println("coins: " + game.getPlayer().getCoins());
@@ -102,6 +110,68 @@ public class Main {
System.out.println("buildings: " + game.getBuildings()); System.out.println("buildings: " + game.getBuildings());
System.out.println(); System.out.println();
try {
game.getMarket().buyItem(game, Item.AXE);
} catch (ItemNotAvailableException e) {
System.out.println(" idk ");;
}
System.out.println("coins: " + game.getPlayer().getCoins());
System.out.println("inventory: " + game.getPlayer().getInventory());
System.out.println("buildings: " + game.getBuildings());
System.out.println();
game.cutTrees();
System.out.println("coins: " + game.getPlayer().getCoins());
System.out.println("inventory: " + game.getPlayer().getInventory());
System.out.println("buildings: " + game.getBuildings());
System.out.println();
try {
game.getMarket().buyItem(game, Item.COAL_FACTORY);
} catch (ItemNotAvailableException e) {
System.out.println(" idk ");;
}
System.out.println("coins: " + game.getPlayer().getCoins());
System.out.println("inventory: " + game.getPlayer().getInventory());
System.out.println("buildings: " + game.getBuildings());
System.out.println();
game.build(Item.COAL_FACTORY);
System.out.println("coins: " + game.getPlayer().getCoins());
System.out.println("inventory: " + game.getPlayer().getInventory());
System.out.println("buildings: " + game.getBuildings());
System.out.println();
game.produce(Item.COAL_FACTORY);
System.out.println("coins: " + game.getPlayer().getCoins());
System.out.println("inventory: " + game.getPlayer().getInventory());
System.out.println("buildings: " + game.getBuildings());
System.out.println();
try {
game.getMarket().buyItem(game, Item.COAL_FACTORY);
} catch (ItemNotAvailableException e) {
System.out.println(" idk ");;
}
System.out.println("coins: " + game.getPlayer().getCoins());
System.out.println("inventory: " + game.getPlayer().getInventory());
System.out.println("buildings: " + game.getBuildings());
System.out.println();
game.getMarket().sellItem(game, Item.COAL_FACTORY);
System.out.println("coins: " + game.getPlayer().getCoins());
System.out.println("inventory: " + game.getPlayer().getInventory());
System.out.println("buildings: " + game.getBuildings());
System.out.println();
} }
} }

View File

@@ -14,13 +14,18 @@ import java.util.List;
public class Market { public class Market {
private final List<Item> availableItems = new ArrayList<>(List.of( private final List<Item> availableItems = new ArrayList<>(List.of(
Item.AXE, Item.SCYTHE, Item.AXE,
Item.VILLAGER_HOUSE, Item.CHURCH Item.VILLAGER_HOUSE, Item.CHURCH
)); ));
public void sellItem(Player player, Item item) { public void sellItem(Game game, Item item) {
player.setCoins(player.getCoins() + item.getPrice()); if (!game.getPlayer().getInventory().contains(item)) {
player.getInventory().remove(item); System.out.println(" "); // TODO
return;
}
game.getPlayer().setCoins(game.getPlayer().getCoins() + item.getPrice());
game.getPlayer().getInventory().remove(item);
} }
public void buyItem(Game game, Item item) throws ItemNotAvailableException, NotSufficientsCoinsException { public void buyItem(Game game, Item item) throws ItemNotAvailableException, NotSufficientsCoinsException {
@@ -32,6 +37,7 @@ public class Market {
System.out.println(" "); //TODO System.out.println(" "); //TODO
return; return;
} }
System.out.println(availableItems);
if (availableItems.contains(item)) { if (availableItems.contains(item)) {
game.getPlayer().getInventory().add(item); game.getPlayer().getInventory().add(item);
game.getPlayer().setCoins(game.getPlayer().getCoins() - item.getPrice()); game.getPlayer().setCoins(game.getPlayer().getCoins() - item.getPrice());