From 0c7b2c9de10346187f0a78e383cddbbde40bcf1e Mon Sep 17 00:00:00 2001 From: Ashwin Rana <119340735+gaiters-cafes@users.noreply.github.com> Date: Wed, 27 Sep 2023 22:10:12 +0000 Subject: [PATCH] cleaned the logic --- python/gilded_rose.py | 51 ++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/python/gilded_rose.py b/python/gilded_rose.py index d87fd3f2..db497f72 100755 --- a/python/gilded_rose.py +++ b/python/gilded_rose.py @@ -13,36 +13,37 @@ class GildedRose(object): self.__update_each_item_quality(item) # print(f'Log: {item}\n') + def __decrease_item_quality(self, item, amount: int = 1): + item.quality = max(0, item.quality - amount) + + def __increase_item_quality(self, item, amount: int = 1): + item.quality = min(50, item.quality + amount) + def __update_each_item_quality(self, item): # Update item.sell_in - if item.name != self.SULFURAS: + if item.name == self.SULFURAS: + pass + else: item.sell_in = item.sell_in - 1 # Update item.quality - if item.name != self.AGED_BRIE and item.name != self.BACKSTAGE_PASSES: - if item.quality > 0: - if item.name != self.SULFURAS: - item.quality = item.quality - 1 + if item.name == self.AGED_BRIE: + self.__increase_item_quality(item) + if item.sell_in < 0: + self.__increase_item_quality(item) + elif item.name == self.BACKSTAGE_PASSES: + self.__increase_item_quality(item) + if item.sell_in < 10: + self.__increase_item_quality(item) + if item.sell_in < 5: + self.__increase_item_quality(item) + if item.sell_in < 0: + item.quality = 0 + elif item.name == self.SULFURAS: + pass else: - if item.quality < 50: - item.quality = item.quality + 1 - if item.name == self.BACKSTAGE_PASSES: - if item.sell_in < 10: - if item.quality < 50: - item.quality = item.quality + 1 - if item.sell_in < 5: - if item.quality < 50: - item.quality = item.quality + 1 - if item.sell_in < 0: - if item.name != self.AGED_BRIE: - if item.name != self.BACKSTAGE_PASSES: - if item.quality > 0: - if item.name != self.SULFURAS: - item.quality = item.quality - 1 - else: - item.quality = item.quality - item.quality - else: - if item.quality < 50: - item.quality = item.quality + 1 + self.__decrease_item_quality(item) + if item.sell_in < 0: + self.__decrease_item_quality(item) class Item: