From 627e05c6f7640e111798dada48fef1c8fe096f5c Mon Sep 17 00:00:00 2001 From: chan Date: Thu, 8 Apr 2021 09:24:01 -0700 Subject: [PATCH] swap_meet --- swap_meet/clothing.py | 14 +++++ swap_meet/decor.py | 16 ++++++ swap_meet/electronics.py | 14 +++++ swap_meet/item.py | 19 +++++++ swap_meet/vendor.py | 109 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 172 insertions(+) create mode 100644 swap_meet/clothing.py create mode 100644 swap_meet/decor.py create mode 100644 swap_meet/electronics.py create mode 100644 swap_meet/item.py create mode 100644 swap_meet/vendor.py diff --git a/swap_meet/clothing.py b/swap_meet/clothing.py new file mode 100644 index 000000000..64427bd9f --- /dev/null +++ b/swap_meet/clothing.py @@ -0,0 +1,14 @@ +from .item import Item + +class Clothing(Item): + + def __init__(self, category = "", condition=0): + self.category = "Clothing" + self.condition = condition + + def __str__(self): + return "The finest clothing you could wear." + + + + diff --git a/swap_meet/decor.py b/swap_meet/decor.py new file mode 100644 index 000000000..07b48a704 --- /dev/null +++ b/swap_meet/decor.py @@ -0,0 +1,16 @@ +from .item import Item + +class Decor(Item): + + def __init__(self, category="", condition=0): + self.category = "Decor" + self.condition = condition + + def __str__(self): + return "Something to decorate your space." + + + + + + diff --git a/swap_meet/electronics.py b/swap_meet/electronics.py new file mode 100644 index 000000000..71084c704 --- /dev/null +++ b/swap_meet/electronics.py @@ -0,0 +1,14 @@ +from .item import Item + +class Electronics(Item): + + def __init__(self, category="", condition=0): + self.category = "Electronics" + self.condition = condition + + def __str__(self): + return "A gadget full of buttons and secrets." + + + + \ No newline at end of file diff --git a/swap_meet/item.py b/swap_meet/item.py new file mode 100644 index 000000000..abfb891bc --- /dev/null +++ b/swap_meet/item.py @@ -0,0 +1,19 @@ +class Item: + def __init__(self, item = "Hello World!", category="", condition = 0): + self.category = category + self.item = item + + def __str__(self): + return f"{self.item}" + + def __float__(self): + return f"{self.condition}" + + def condition_description(self): + return f"{self.condition}" + + + + + + \ No newline at end of file diff --git a/swap_meet/vendor.py b/swap_meet/vendor.py new file mode 100644 index 000000000..366cb18d8 --- /dev/null +++ b/swap_meet/vendor.py @@ -0,0 +1,109 @@ + +class Vendor: + + def __init__(self, inventory=None): + if inventory == None: + self.inventory = [] + else: + self.inventory = inventory + + + def add(self, item): + self.inventory.append(item) + return item + + + def remove(self, item): + if item in self.inventory: + self.inventory.remove(item) + return item + else: + return False + + def get_by_category(self, category): + category_list = [] + for item in self.inventory: + if category == item.category: + category_list.append(item) + return category_list + + def swap_items(self, other_vendor, my_item, their_item): + + if their_item not in other_vendor.inventory or my_item not in self.inventory: + + return False + + else: + + other_vendor.inventory.append(my_item) + other_vendor.remove(their_item) + self.inventory.remove(my_item) + self.inventory.append(their_item) + + return True + + def swap_first_item(self, other_vendor): + + + if self.inventory == [] or other_vendor.inventory == []: + + return False + + else: + + other_vendor.inventory.append(self.inventory[0]) + self.inventory.remove(self.inventory[0]) + self.inventory.append(other_vendor.inventory[0]) + other_vendor.inventory.remove(other_vendor.inventory[0]) + + return True + + def get_best_by_category(self, category=""): + items_in_category = [] + + for item in self.inventory: + if item.category == category: + items_in_category.append(item) + + best_item = None + best_condition = 0 + for item in items_in_category: + if item.condition > best_condition: + best_condition = item.condition + best_item = item + return best_item + + + def swap_best_by_category(self, other, my_priority, their_priority): + my_best = self.get_best_by_category(their_priority) + their_best = other.get_best_by_category(my_priority) + return self.swap_items(other, my_best, their_best) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file