diff --git a/swap_meet/clothing.py b/swap_meet/clothing.py new file mode 100644 index 000000000..f1f5a97e1 --- /dev/null +++ b/swap_meet/clothing.py @@ -0,0 +1,8 @@ +from .item import Item + +class Clothing(Item): + def __init__(self, condition=0): + super().__init__("Clothing", condition) + + def __str__(self): + return "The finest clothing you could wear." \ No newline at end of file diff --git a/swap_meet/decor.py b/swap_meet/decor.py new file mode 100644 index 000000000..0c1957737 --- /dev/null +++ b/swap_meet/decor.py @@ -0,0 +1,8 @@ +from .item import Item + +class Decor(Item): + def __init__(self, condition=0): + 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..f98578be4 --- /dev/null +++ b/swap_meet/electronics.py @@ -0,0 +1,8 @@ +from .item import Item + +class Electronics(Item): + def __init__(self, condition=0): + 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..50b95e104 --- /dev/null +++ b/swap_meet/item.py @@ -0,0 +1,26 @@ + +class Item: + def __init__(self, category='', condition=0): #an inventory has to be passed in + self.category = category + self.condition = condition + #self.get_by_category + def __str__(self): + return 'Hello World!' + + def condition_description(self): + # for items in self.category: + if self.condition == 0: + return "You probably want to use a glove for this one" + if self.condition == 1: + return "Heavily used." + if self.condition == 2: + return "Heavily used." + if self.condition == 3: + return "Standard wear and tear." + if self.condition == 4: + return "*Almost* like new." + if self.condition == 5: + return "Like new" + else: + return "nope" + diff --git a/swap_meet/vendor.py b/swap_meet/vendor.py new file mode 100644 index 000000000..00c54626e --- /dev/null +++ b/swap_meet/vendor.py @@ -0,0 +1,71 @@ + +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 not in self.inventory: + return False + if item in self.inventory: + self.inventory.remove(item) + return item + + def get_by_category(self, category): + matching_items = [] + for item in self.inventory: + if category == item.category: + matching_items.append(item) + + return matching_items + + def swap_items(self, friend, my_item, friends_item): + if my_item in self.inventory and friends_item in friend.inventory: + # friend.add(self.remove(my_item)) + # self.add(friend.remove(friends_item)) + self.remove(my_item) + friend.add(my_item) + friend.remove(friends_item) + self.add(friends_item) + return True + else: + return False + + + + def swap_first_item(self, friend): + + if len(self.inventory) == 0 or len(friend.inventory) == 0: + return False + else: + self.swap_items(friend, self.inventory[0], friend.inventory[0]) + return True + + def get_best_by_category(self, category): + list_of_categorys = self.get_by_category(category) + if not list_of_categorys: + return None + top_condition = -1 + top_item = None + for item in list_of_categorys: + if item.condition > top_condition: + top_condition = item.condition + top_item = item + return top_item + + def swap_best_by_category(self, other, my_priority, their_priority): + item_for_other = self.get_best_by_category(their_priority) + item_for_self = other.get_best_by_category(my_priority) + if item_for_other and item_for_self: + self.swap_items(other, item_for_other, item_for_self) + return True + else: + return False + \ No newline at end of file