From 10e094d9691a825ddc6627511ece180b0f94a31b Mon Sep 17 00:00:00 2001 From: Niklas Haiden Date: Fri, 8 May 2026 16:44:47 +0200 Subject: [PATCH] feat(shop): initial shop implementation with buy functionality and item loading --- src/shop.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/shop.py diff --git a/src/shop.py b/src/shop.py new file mode 100644 index 0000000..e20548c --- /dev/null +++ b/src/shop.py @@ -0,0 +1,29 @@ +from src.item import Item + + +class Shop: + def __init__(self, ects, buyable_items): + self.ects = ects # give the ects object ot the shop + self.buyable_items: list[Item] = buyable_items # give the buyable items to the shop + + def buy(self, item_name): + item_to_buy = self.get_item(item_name) + if item_to_buy is None: + return False + + cost = item_to_buy.get_cost() + if self.ects.is_over_balance(cost): + return False + + self.ects.decrease_balance(cost) + # self.buyable_items.remove(item_to_buy) + return True + + def get_item(self, item_name): + for item in self.buyable_items: + if item.item_type == item_name: + return item + return None + + def get_items(self): + return self.buyable_items