def drop_equipment(self, equipment_to_drop): valid_inputs = ('y', 'n') player_choice = '' while player_choice not in valid_inputs: clear() print( f"""{Colours.fg.orange}You found {equipment_to_drop.name_string}{Colours.fg.orange}. """) sleep(1) objects.display_current_equipment_stats(equipment_to_drop.category) print( f"{Colours.fg.green + Colours.underline}{equipment_to_drop.category.capitalize()} you found:{Colours.reset}" "") objects.display_equipment_stats(equipment_to_drop, display_price=False) print( f"""{Colours.fg.orange}Are you sure you want to equip {equipment_to_drop.name_string} {Colours.fg.orange}? {Colours.tag('y')} {Colours.fg.blue}Yes {Colours.tag('n')} {Colours.fg.blue}No """) player_choice = input(f"{Colours.input_colour}> ") if player_choice == 'y': new_player.equip(equipment_to_drop) elif player_choice == 'n': pass
def pm_task(): ''' The power management task [internal function] ''' global requestedStandbyTime global timeout global disabled if disabled: return timeout idleTime = virtualtimers.idle_time() usbStayAwake = False try: import badge usbStayAwake = badge.usb_attached() and machine.nvs_get_u8( 'system', 'usb_stay_awake') except: pass if idleTime > 30000 and (not usbStayAwake): global onSleepCallback if not onSleepCallback == None: print("[Power management] Running onSleepCallback...") try: onSleepCallback(idleTime) except BaseException as e: print("[ERROR] An error occured in the on sleep callback.") sys.print_exception(e) system.sleep(idleTime, False) return timeout
def handle_money(cls): clear() if entities.new_player.gold_coins >= cls.total_price: if isinstance(cls.equipment_to_purchase, entities.Weapon) or isinstance( cls.equipment_to_purchase, entities.Armour): print( f"{Colours.fg.pink}You bought {Colours.fg.orange + Colours.underline}{cls.equipment_to_purchase.name}{Colours.reset} {Colours.fg.pink}for {Colours.fg.yellow + Colours.underline}{cls.equipment_to_purchase.price} gold coins{Colours.reset + Colours.fg.pink}." ) sleep(2) if isinstance(cls.equipment_to_purchase, entities.Weapon): entities.new_player.weapon = cls.equipment_to_purchase elif isinstance(cls.equipment_to_purchase, entities.Armour): entities.new_player.armour = cls.equipment_to_purchase elif isinstance(cls.equipment_to_purchase, Item): new_inventory.add_item(cls.key_of_equipment_to_purchase, cls.equipment_quantity) entities.new_player.gold_coins -= cls.total_price else: print( f"{Colours.fg.red + Colours.underline + Colours.bold}YOU DON'T HAVE ENOUGH GOLD COINS{Colours.reset}" ) sleep(2)
def cbSleep(idleTime=None): if idleTime == None: idleTime = virtualtimers.idle_time() gui_redraw = True drawTask(True) samd.backlight(0) system.sleep(idleTime, True)
def cbSleep(idleTime=None): global stopThreads neopixel.send(bytes([0x00] * 3 * 12)) if idleTime == None: idleTime = virtualtimers.idle_time() gui_redraw = True stopThreads = True drawTask(True) display.flush() time.sleep(0.1) system.sleep(idleTime, True)
def onSleep(idleTime=None): if idleTime == None: idleTime = virtualtimers.idle_time() gui_redraw = True drawTask(True) if (idleTime >= 86400000): #One day idleTime = 0 if idleTime < 1: term.header(True, "Sleeping until touchbutton is pressed...") else: term.header(True, "Sleeping for " + str(idleTime) + "ms...") system.sleep(idleTime)
def cbSleep(idleTime=None): global ledTask, scrollerTask neopixel.send(bytes([0x00] * 3 * 12)) if idleTime == None: idleTime = virtualtimers.idle_time() gui_redraw = True virtualtimers.delete(scrollerTask) virtualtimers.delete(ledTask) display.windowHide("scroller") drawTask(True) display.flush() time.sleep(0.1) system.sleep(idleTime, True)
def display_items_dict(self, clear_the_screen): if clear_the_screen: clear() else: sleep(1) for key in self.items_dict: if self.items_dict[key] == [None, 0]: print(f"{Colours.tag(key)} {Colours.none_string}") print('\n') else: display_equipment_stats(key, display_price=False, item_quantity=self.items_dict[key][1])
def add_item(self, item_key, quantity=1): item_to_add = all_items[item_key] if self.item_exists(item_to_add): for key in self.items_dict: if self.items_dict[key][0] == item_to_add: self.items_dict[key][1] += quantity else: if self.empty_slot_exists(): self.items_dict[self.empty_slot_key] = [item_to_add, quantity] else: player_choice = '' clear() print( f"{Colours.fg.orange + Colours.bold + Colours.underline}Your inventory is currently full.{Colours.reset}" ) sleep(1.5) while player_choice not in self.items_dict: clear() print( f"""{Colours.fg.red}Which item would you like to remove? {Colours.reset + Colours.fg.cyan}(Type a number from 1 to {self.total_slots}, according to the item number you want to replace){Colours.fg.yellow} {Colours.fg.orange + Colours.underline}Item you want to buy: """) display_equipment_stats(item_key, item_quantity=quantity) print('\n') self.display_items_dict(clear_the_screen=False) player_choice = input(f"{Colours.input_colour}> ") if player_choice not in self.items_dict: clear() print( f"{Colours.fg.red + Colours.underline}Please enter a number from 1 to {self.total_slots}.{Colours.reset}" ) sleep(2) self.items_dict[player_choice] = [item_to_add, quantity] clear() print( f"{Colours.fg.orange}You received {Colours.bold + Colours.fg.red}{quantity} {Colours.fg.green}{item_to_add.name}{Colours.reset + Colours.fg.orange}." ) sleep_and_clear(1.5)
def display_confirmation_message(cls): cls.equipment_quantity = 1 cls.total_price = cls.equipment_to_purchase.price player_choice = '' if isinstance(cls.equipment_to_purchase, Item): while type(player_choice) != int: clear() player_choice = input( f"""{Colours.fg.yellow}How many {Colours.fg.orange + Colours.underline}{cls.equipment_to_purchase.name}s{Colours.reset + Colours.fg.yellow} would you like to buy? {Colours.fg.cyan}(Type a {Colours.fg.green}number{Colours.fg.cyan}) {Colours.fg.orange} > """) try: player_choice = int(player_choice) except ValueError: clear() print(f"{Colours.alert('PLEASE ENTER A NUMBER!!!')}") sleep(2) cls.equipment_quantity = player_choice cls.total_price = cls.equipment_to_purchase.price * cls.equipment_quantity clear() print( f"""{Colours.fg.yellow}Are you sure you want to buy {Colours.fg.red + Colours.underline}{cls.equipment_quantity}{Colours.reset} {cls.equipment_to_purchase.name_string}{Colours.fg.yellow} for {Colours.fg.red + Colours.underline}{cls.total_price} gold coins{Colours.reset + Colours.fg.yellow}? {Colours.fg.yellow}(Type {Colours.fg.green}y{Colours.fg.yellow} to {Colours.fg.green}confirm your purchase{Colours.fg.yellow}) {Colours.fg.yellow}(Type '{Colours.fg.red}back{Colours.fg.yellow}' to go back) {Colours.fg.green + Colours.underline}{cls.equipment_to_purchase.category.capitalize()} you want to buy:{Colours.reset}""" ) display_equipment_stats(cls.key_of_equipment_to_purchase, display_price=False)
def cbSleep(idleTime=None): if idleTime == None: idleTime = virtualtimers.idle_time() system.sleep(idleTime, True)
def fn(): print("This is an output from fn") sys.sleep(1)
def start_sleeping(sleepTime=0): import system system.sleep(sleepTime, True)