diff --git a/swap_meet/clothing.py b/swap_meet/clothing.py new file mode 100644 index 000000000..a610e885f --- /dev/null +++ b/swap_meet/clothing.py @@ -0,0 +1,9 @@ +from swap_meet.item import Item + +class Clothing(Item): + + def __init__(self, condition = None ): + super().__init__("Clothing", 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..8a12bafd5 --- /dev/null +++ b/swap_meet/decor.py @@ -0,0 +1,11 @@ +from swap_meet.item import Item + +class Decor(Item): + + + def __init__(self, condition = None): + super().__init__("Decor", condition) + + + def __str__(self): + return "Something to decorate your space." \ No newline at end of file diff --git a/swap_meet/electronics.py b/swap_meet/electronics.py new file mode 100644 index 000000000..27e4e475b --- /dev/null +++ b/swap_meet/electronics.py @@ -0,0 +1,11 @@ +from swap_meet.item import Item + +class Electronics(Item): + + + def __init__(self, condition = None): + super().__init__("Electronics", 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..a8844d93f --- /dev/null +++ b/swap_meet/item.py @@ -0,0 +1,32 @@ + + +class Item: + + def __init__(self, category = None, condition = None): + if category: + self.category = category + else: + self.category = "" + + if condition: + self.condition = float(condition) + else: + self.condition = 0 + + + def __str__(self): + return "Hello World!" + + + + def condition_description(self): + if self.condition > 4.0 : + return "super duper best condition" + elif self.condition > 3.0 : + return "pretty alright!" + elif self.condition > 2.0 : + return "Has seen better days" + elif self.condition > 1.0 : + return "maybe wash it once you get home" + elif self.condition >= 0.0 : + return "pretty terrible!!!" \ No newline at end of file diff --git a/swap_meet/vendor.py b/swap_meet/vendor.py new file mode 100644 index 000000000..440c042fd --- /dev/null +++ b/swap_meet/vendor.py @@ -0,0 +1,65 @@ + + +class Vendor: + + def __init__(self, inventory = None): + if inventory: + self.inventory = inventory + else: + self.inventory = [] + + def add(self, new_item): + self.inventory.append(new_item) + return new_item + +#removes item_to_remove from self's inventory + def remove(self, item_to_remove): + for item in self.inventory: + if item == item_to_remove: + self.inventory.remove(item_to_remove) + return item_to_remove + return False + + def get_by_category(self, category): + items_list = [] + for item in self.inventory: + if item.category == category: + items_list.append(item) + return items_list + + def swap_items(self, vendor_friend, my_item, their_item): + if self.remove(my_item): + if vendor_friend.remove(their_item): + vendor_friend.add(my_item) + self.add(their_item) + return True + else: + self.add(my_item) + return False + + + def swap_first_item(self, vendor_friend): + if len(self.inventory) != 0 and len(vendor_friend.inventory) != 0: + self.swap_items(vendor_friend, self.inventory[0], vendor_friend.inventory[0]) + return True + return False + + def get_best_by_category(self, category): + category_list = self.get_by_category(category) + if len(category_list) >= 1: + best_condition_item = category_list[0] + for item in category_list: + if item.condition > best_condition_item.condition: + best_condition_item = item + return best_condition_item + return None + + def swap_best_by_category(self, other, my_priority, their_priority): + my_best_item = self.get_best_by_category(their_priority) + their_best_item = other.get_best_by_category(my_priority) + if my_best_item and their_best_item: + self.swap_items(other, my_best_item, their_best_item) + return True + return False + +