From 2dd12e262a9035e5e7926b46a3a0634e915bb029 Mon Sep 17 00:00:00 2001 From: lileekoi <70069306+lileekoi@users.noreply.github.com> Date: Sat, 3 Apr 2021 11:43:04 -0700 Subject: [PATCH 1/2] Wave 1 Test Completed --- swap_meet/item.py | 0 swap_meet/vendor.py | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 swap_meet/item.py create mode 100644 swap_meet/vendor.py diff --git a/swap_meet/item.py b/swap_meet/item.py new file mode 100644 index 000000000..e69de29bb diff --git a/swap_meet/vendor.py b/swap_meet/vendor.py new file mode 100644 index 000000000..cd66df536 --- /dev/null +++ b/swap_meet/vendor.py @@ -0,0 +1,17 @@ +class Vendor: + def __init__(self,inventory = None): + if inventory is 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 \ No newline at end of file From f4313c27d032753acfebd6668ca3d9772a536d89 Mon Sep 17 00:00:00 2001 From: lileekoi <70069306+lileekoi@users.noreply.github.com> Date: Wed, 7 Apr 2021 08:35:40 -0700 Subject: [PATCH 2/2] Wave 6 Test Completed --- swap_meet/clothing.py | 13 ++++++++++ swap_meet/decor.py | 13 ++++++++++ swap_meet/electronics.py | 13 ++++++++++ swap_meet/item.py | 23 ++++++++++++++++++ swap_meet/vendor.py | 51 +++++++++++++++++++++++++++++++++++++--- 5 files changed, 110 insertions(+), 3 deletions(-) create mode 100644 swap_meet/clothing.py create mode 100644 swap_meet/decor.py create mode 100644 swap_meet/electronics.py diff --git a/swap_meet/clothing.py b/swap_meet/clothing.py new file mode 100644 index 000000000..9899dd893 --- /dev/null +++ b/swap_meet/clothing.py @@ -0,0 +1,13 @@ +from swap_meet.item import Item + +class Clothing(Item): + def __init__(self, condition = 0): + self.category = "Clothing" + self.condition = condition + + def __str__(self): + return "The finest clothing you could wear." + + def condition_description(self): + return super().condition_description() + \ No newline at end of file diff --git a/swap_meet/decor.py b/swap_meet/decor.py new file mode 100644 index 000000000..86e455e87 --- /dev/null +++ b/swap_meet/decor.py @@ -0,0 +1,13 @@ +from swap_meet.item import Item + +class Decor(Item): + def __init__(self, condition = 0): + self.category = "Decor" + self.condition = condition + + def __str__(self): + return "Something to decorate your space." + + def condition_description(self): + return super().condition_description() + \ No newline at end of file diff --git a/swap_meet/electronics.py b/swap_meet/electronics.py new file mode 100644 index 000000000..7e0762253 --- /dev/null +++ b/swap_meet/electronics.py @@ -0,0 +1,13 @@ +from swap_meet.item import Item + +class Electronics(Item): + def __init__(self, condition = 0): + self.category = "Electronics" + self.condition = condition + + def __str__(self): + return "A gadget full of buttons and secrets." + + def condition_description(self): + return super().condition_description() + \ No newline at end of file diff --git a/swap_meet/item.py b/swap_meet/item.py index e69de29bb..4ac7517d9 100644 --- a/swap_meet/item.py +++ b/swap_meet/item.py @@ -0,0 +1,23 @@ +class Item: + def __init__(self, category = ""): + # default parameter is what we want in case nothing is passed + self.category = category + + def __str__(self): + return "Hello World!" + + def condition_description(self): + if self.condition == 5: + return "This fit is fire" + elif self.condition == 4: + return "Issa mood" + elif self.condition == 3: + return "Yay, we love basics" + elif self.condition == 2: + return "I'm feeling meh" + elif self.condition == 1: + return "I want to burn these clothes" + elif self.condition == 0: + return "I hate it here" + + diff --git a/swap_meet/vendor.py b/swap_meet/vendor.py index cd66df536..c5ba95499 100644 --- a/swap_meet/vendor.py +++ b/swap_meet/vendor.py @@ -1,4 +1,9 @@ -class Vendor: +from swap_meet.item import Item +from swap_meet.clothing import Clothing +from swap_meet.decor import Decor +from swap_meet.electronics import Electronics + +class Vendor(): def __init__(self,inventory = None): if inventory is None: self.inventory = [] @@ -13,5 +18,45 @@ def remove(self, item): if item in self.inventory: self.inventory.remove(item) return item - else: - return False \ No newline at end of file + return False + + def get_by_category(self, category): + items = [] + for item in self.inventory: + if item.category == category: + items.append(item) + return items + + def swap_items(self, friend, my_item, their_item): + if my_item in self.inventory and their_item in friend.inventory: + friend.inventory.append(my_item) + self.inventory.remove(my_item) + self.inventory.append(their_item) + friend.inventory.remove(their_item) + return True + return False + + def swap_first_item(self, friend): + if len(self.inventory) > 0 and len(friend.inventory) > 0: + return self.swap_items(friend, self.inventory[0], friend.inventory[0]) + return False + + def get_best_by_category(self, category = ""): + max_condition = -1 + best_item = None + category_items = self.get_by_category(category) + for item in category_items: + if item.condition > max_condition: + max_condition = item.condition + best_item = item + return best_item + + def swap_best_by_category(self, other, my_priority, their_priority): + my_best_cat_item = self.get_best_by_category(their_priority) + their_best_cat_item = other.get_best_by_category(my_priority) + if my_best_cat_item != None and their_best_cat_item != None: + return self.swap_items(other, my_best_cat_item, their_best_cat_item) + return False + + +