Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
def cbSleep(idleTime=None):
    if idleTime == None:
        idleTime = virtualtimers.idle_time()
    gui_redraw = True
    drawTask(True)
    samd.backlight(0)
    system.sleep(idleTime, True)
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
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)
Ejemplo n.º 7
0
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)
Ejemplo n.º 8
0
    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])
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
    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)
Ejemplo n.º 11
0
def cbSleep(idleTime=None):
    if idleTime == None:
        idleTime = virtualtimers.idle_time()
    system.sleep(idleTime, True)
Ejemplo n.º 12
0
def fn():
    print("This is an output from fn")
    sys.sleep(1)
Ejemplo n.º 13
0
def start_sleeping(sleepTime=0):
    import system
    system.sleep(sleepTime, True)