From 870f5a4b8d9197a87d64b3ad7d7bfc6d2b9f9aa8 Mon Sep 17 00:00:00 2001 From: Michael Rodin Date: Tue, 10 Jun 2025 11:16:56 +0200 Subject: [PATCH] second commit --- src/de/sus/items/Item.java | 9 +++++++++ src/de/sus/user/Player.java | 28 ++++++++++++++++++++++++++++ src/de/sus/world/Board.java | 10 +++++++--- 3 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 src/de/sus/items/Item.java create mode 100644 src/de/sus/user/Player.java diff --git a/src/de/sus/items/Item.java b/src/de/sus/items/Item.java new file mode 100644 index 0000000..be205d1 --- /dev/null +++ b/src/de/sus/items/Item.java @@ -0,0 +1,9 @@ +package de.sus.items; + +public abstract class Item { + + + public Item() { + + } +} \ No newline at end of file diff --git a/src/de/sus/user/Player.java b/src/de/sus/user/Player.java new file mode 100644 index 0000000..10f9c52 --- /dev/null +++ b/src/de/sus/user/Player.java @@ -0,0 +1,28 @@ +package de.sus.user; + +import java.util.ArrayList; +import de.sus.items.*; + +public class Player { + /** The player's username/display name */ + private String username; + /** The player's inventory */ + private ArrayList inventory = new ArrayList<>; + + public Player(String name) { + this.username = name; + } + + public void addItem(Item item) { + inventory.add(item); + } + + public boolean removeItem(Item item) { + return inventory.remove(item); + } + + @Override + public String toString() { + return this.username; + } +} \ No newline at end of file diff --git a/src/de/sus/world/Board.java b/src/de/sus/world/Board.java index 8d50147..d12ddd7 100644 --- a/src/de/sus/world/Board.java +++ b/src/de/sus/world/Board.java @@ -9,11 +9,16 @@ public class Board { /** * Constructor * @author Michael Rodin - * @param size the radius of the boards aka. field count of the horizontal + * @param size the radius of the boards aka. field count of the horizontal. Must be uneven */ public Board(int size) { if (size < 1) throw new IllegalArgumentException("The size must be 1 or higher!"); + if (size % 2 == 0) throw new IllegalArgumentException("The size must be uneven!"); + this.initBoard(size); + } + + private void initBoard(int size) { this.boardfields = new Field[size][]; int i = size/2-1; @@ -32,8 +37,7 @@ public class Board { Random random = new Random(); for (Field[] k: this.boardfields) { for (Field j: k) { - j = new Field(Resource.getRandom(), random.nextInt(12)+1); - System.out.println(j); + j = new Field(Resource.getRandom(), random.nextInt(12)+1); // TODO: improve resource logic? } } }