예제 #1
0
async def word_quiz(words, limited=None):
    # Perform a test, to check they wrote them down
    # Return X if they cancel early.
    # Can just pick a subset # of words, with limited arg.

    wl = len(words)     # 24 or 12, etc.

    if limited is not None:
        # truncate to some N randomly-selected words in the list
        # and always the last word
        order = list(range(wl-1))
        shuffle(order)

        order = order[0:limited-1]
        order.append(wl-1)
    else:
        order = list(range(wl))
        
    shuffle(order)

    for o in order:
        # always 3 choices: right answer, wrong from correct set, random word
        right = words[o]

        choices = [right]
        while 1:
            n = words[rng() % wl]
            if n in choices: continue
            choices.append(n)
            break

        while 1:
            n = tcc.bip39.lookup_nth(rng() % 0x800)
            if n in choices: continue
            choices.append(n)
            break

        while 1:
            shuffle(choices)
            
            msg = '\n'.join(' %d: %s' % (i+1, choices[i]) for i in range(3))
            msg += '\n\nWhich word is right?\n\nX to give up, OK to see all the words again.'

            ch = await ux_show_story(msg, title='Word %d is?' % (o+1), escape='123', sensitive=True)
            if ch == 'x':
                # user abort
                return 'x'
            elif ch == 'y':
                await show_words(words)
                continue

            if ch in '123':
                n = ord(ch) - ord('1')

                if choices[n] == right:
                    break

            await ux_dramatic_pause('Wrong!', 2)

    return
def encrypt_message(message, delta=rng(1, 5)):
    alphabet, encrypted = 'qwertzuiopasdfghjklyxcvbnm', ''
    for letter in message.upper():
        encrypted += letter
        for i in range(delta):
            # Add delta amount of random letters behind each letter
            encrypted += alphabet[rng(0, len(alphabet) - 1)].upper()
    return encrypted
예제 #3
0
def file_generator():
    for file_name in os.listdir(target_dir):
        if file_name.endswith('png'):
            os.remove(target_dir + '\\' + file_name)
    for i in range(50):
        # Erstelle 50 zufällig gefärbte Bilder mit der Grösse 500px x 500px
        new_image = Image.new('RGBA', (500, 500),
                              (rng(0, 255), rng(0, 255), rng(0, 255)))
        new_image.save(target_dir + '\\picture' + str(i) + '.png')
예제 #4
0
def game_turn_seed(game_seed, game_turn, min=0, max=100):
    seed(game_seed)
    iteration = 0
    while True:
        while iteration < game_turn:
            r_seed = rng(min, max)
            iteration += 1
        r_seed = rng(min, max)
        yield r_seed
def shuffle_deck():
    card_deck = gen_card_deck()
    rng_range = rng(50, 150)
    for i in range(rng_range):
        while True:
            random_1 = rng(0, len(card_deck) - 1)
            random_2 = rng(0, len(card_deck) - 1)
            if random_1 != random_2:
                break
        card_deck[random_1], card_deck[random_2] = card_deck[
            random_2], card_deck[random_1]
    return card_deck
def get_content(current_seed):
    seed(current_seed)
    intros=[
            ["You enter a dark cavern. ","Du betritts eine dunkle Kammer. ",{"luck":0.2,"gear_chance":-0.3, "danger":0.3}],
            ["There's a big mess here. Dirt and stones everywhere. ","Es herrscht ein totales Chaos hier. Dreck und Steine überall. ", {"luck":-0.5,"gear_chance":0.5, "danger":-0.2}],
            ["I see some light over there. I might check this!","Da drüben ist Licht! Ich sollte das untersuchen!",{"luck":0.5, "gear_chance":0.6}],
            ["It's an empty room. It doesn't look like there is something interesting here. ","Ein leerer Raum. Es sieht nicht so aus als wäre hier etwas. ",{"gear_chance":0.5}],
            ["There is a strange smell in this Room. Where does it come from? ","In diesem Raum riecht es sehr komisch. Woher könnte das kommen? ",{"luck":0.2,"gear_chance":-0.3, "danger":0.3}]
            # ["","",{}]
    ]
    random=rng(0,len(intros)-1)
    intro=intros[random]

    # items=[]
    room_items=[
                ["There is a wooden chair with restraints in the middle of the room. ","Da ist ein hölzerner Stuhl mit angebrachten Fesseln in der mitte des Raums. ",{"danger":0.2,"gear_chance":0.4}],
                ["There is no furniture in this room. ","Es gibt keine Möbel in diesem Raum. ",{"luck":-0.4, "gear_chance":-1}],
                ["A dark wooden table is pushed away from the wall. Seems like someone was searching something behind. ","Ein dunkler hölzerner Tisch wurde von der Wand weggestossen. Sieht so aus als ob da jemand etwas gesucht hat. ",{"luck":-0.1, "danger":0.2, "gear_chance":0.5}],
                ["There is a weird looking book on the floor. ","Es liegt ein komisch aussehendes Buch auf dem Boden. ",{"luck":0.3,"gear_chance":-0.2}],
                ["A rusty old shelve is attached to the left wall of the room. ","Eine rostige Ablage ist an der linken Wand im Raum befestigt. ",{"luck":0.6,"gear_chance":0.7}]
                # ["","",{}],
                # ["","",{}]
    ]
    random=rng(0,len(room_items)-1)
    # items+=[room_items[random]]
    items=[room_items[random]]

    directions=[["left", "linken"], ["right", "rechten"]]
    choosable_directions=[directions[0][lang], directions[1][lang]]
    cnt=0
    for direction in choosable_directions:
        doors=[
            ["On the {} side is a door made of metal. ".format(direction),"Auf der {} Seite ist eine Tür aus metall. ".format(direction),{}],
            ["There is a wooden door on the {} side. ".format(direction),"{} befindet sich ein hölzernes Tor. ".format((direction.capitalize()).rstrip("en")+"s"),{}],
            ["A loud scratching noise comes from the {} door. Something wants to get out. ".format(direction),"Ein lautes Kratzen ist hinter der {} Tür zu hören. Etwas möchte da raus. ".format(direction),{}],
            ["On the {} side is a small inconspicuous door. ".format(direction),"Auf der {} Seite ist eine kleine unscheinbare Türe. ".format(direction),{}],
            ["Through the crack of the {} door a little light shines out. What could be behind it? ".format(direction),"Unter der {} Türe scheint etwas licht hervor. Was könnte dahinter sein? ".format(direction),{}],
            ["There is a door made out of glass on the {} side. It seems like there is nothing behind of it. ".format(direction),"Auf der {} Seite ist eine Türe aus Glas. Es scheint nichts dahiter zu sein. ".format(direction),{}]
            # ["","",{}]
        ]
    
        random=rng(0,len(doors)-1)
        if cnt == 0:
            left_door=doors[random]
            right_door=doors[random]
            cnt=1
        else:
            while left_door == right_door:
                right_door=doors[random]
                random=rng(0,len(doors)-1)

    return intro, items, left_door, right_door
예제 #7
0
def rest():
    global days
    global health
    global food
    health +=1
    attack = rng(0,1)
    if attack == 0:
        food-=rng(50,150)
        print("You were robbed in the night and lost some food")
        days=-rng(2,5)
    else:
        food-=25
        days-=1
예제 #8
0
def travel():
    global days
    global dist
    global health
    global food
    trvdist = rng(100,250)
    damage = rng(0,1)
    if trvdist > 150 and damage == 1:
        print("Your wagon was damaged...")
        health-=1
    dist -= trvdist
    days -= 1
    food -= rng(50,100)
예제 #9
0
def numeric(md5_prefix):
    for i in range(max_tries_seq):
        if i % log_frequency == 0:
            print("--- ", i, " ---")
        s = string_prefix + str(rng(1, numeric_max_value))

        numeric_worker_task(None, s, string_prefix, md5_prefix)
예제 #10
0
def randomString(stringLength=10):
    """Generate a random string of fixed length """
    letters = alphabetic_characters
    s = ""
    for i in range(stringLength):
        s += letters[rng(0, len(letters) - 1)]
    return s
예제 #11
0
def rand_array_search(max_guesses):
    size = 1000
    array_range = 100000
    a = []
    for i in range(0, size):
        a.append(rng(0, array_range))

    search_int = a[rng(0, size - 1)]
    i = 0
    while i < max_guesses:
        search_index = rng(0, size - 1)
        if a[search_index] == search_int:
            break
        i += 1

    return i
예제 #12
0
def gen_num():
    country_codes = [
        "D", "E", "H", "J", "M", "N", "P", "R", "S", "T", "U", "V", "W", "X",
        "Y", "Z"
    ]
    random_serial_number = rng(10**9, 10**10 - 1)
    country_code = country_codes[rng(0, len(country_codes) - 1)]
    serial_number = str(ord(country_code) - 64) + str(random_serial_number)
    cross_sum = 0
    for i in range(0, len(serial_number)):
        cross_sum += int(serial_number[i])
    if 8 - cross_sum % 9 == 0:
        check_number = 9
    else:
        check_number = 8 - cross_sum % 9
    return country_code + str(random_serial_number) + str(check_number)
예제 #13
0
def rand_test():
    i = 0
    hits = [0] * 20
    while i < 10000000:
        hits[rng(0, 19)] += 1
        i += 1
    print(hits)
예제 #14
0
 def back_tracking_rand_start(self, num_queens):
     self.init_board()
     for i in range(0, num_queens):
         while True:
             if self.add_queen(i, rng(0, 7)):
                 break
     self.back_tracking_rec(num_queens, 0)
예제 #15
0
def game():
    goal = rng(1, maxcnt)
    for runde in range(rounds):
        try:
            if runde != 0:
                print('Du darfst noch', rounds - runde, 'mal raten.')
            global wahl
            wahl = int(input())
        except ValueError:
            print('Das ist keine gültige Nummer!')
            continue
        if wahl < (goal / 2) or wahl > (goal * 2):
            print('Ganz weit weg!')
        elif wahl < (goal - 7) or wahl > (goal + 7):
            print('Es wird Wärmer!')
        elif wahl <= (goal - 2) or wahl >= (goal + 2):
            print('Es ist Warm!')
        elif wahl == (goal - 1) or wahl == (goal + 1):
            print('HEISS!')
        elif wahl == goal:
            print('Du hast meine Zahl erraten! Es war',
                  str(goal) + '. \nDafür hast du nur', runde + 1,
                  'Runden gebraucht!')
            break
        else:
            print('Da ging was schief!')
            break
    try:
        if wahl != goal:
            print(
                'Du hast es leider nicht geschafft. \nDie Zahl an welche ich gedacht habe ist',
                goal)
    except NameError:
        print('Offensichtlich willst du gar nicht spielen!')
예제 #16
0
    def __init__(self):

        pygame.init()
        pygame.display.set_caption("Game Of Life v0.1")

        self.generation = 1
        self.cell_arr = {} # Array with the cells and their states

        self.screen = pygame.display.set_mode(SCREEN_SIZE)
        self.board = pygame.Surface(BOARD_SIZE)
        self.board_bg = pygame.Surface(BOARD_BG_SIZE)

        self.text_surface = pygame.Surface(TEXT_SIZE)
        self.font = pygame.font.SysFont(FONTFACE, FONTSIZE)
        self.update_text()

        for nx, x in enumerate(range(0, BOARD_W, CELL_W)):
            for ny, y in enumerate(range(0, BOARD_H, CELL_H)):
                self.cell_arr[(nx, ny)] = self.create_cell(x, y, CELL_W, CELL_H, rng(0, 2))

        self.screen.fill(BG_COLOR)
        self.board.fill(BORDER_COLOR)
        self.board_bg.fill(BORDER_COLOR)
        self.text_surface.fill(BG_COLOR)
        self.screen.blit(self.board_bg, BOARD_BG_POS)
        self.screen.blit(self.board, BOARD_POS)
        self.screen.blit(self.text_surface, TEXT_POS)
        pygame.display.flip()
예제 #17
0
def alphabetic(md5_prefix):
    for i in range(max_tries_seq):
        if i % log_frequency == 0:
            print("--- ", i, " ---")
        str_len = rng(7, alphabetic_max_length)
        s = string_prefix + randomString(str_len)

        alphabetic_worker_task(None, s, string_prefix, md5_prefix)
예제 #18
0
def getitem():
    global message
    num=rng(1, maxrng)-1
    message=(items[num]+' erhalten.')
    if items[num] not in inventory:
        inventory.setdefault(items[num], 1)
    else:
        inventory[items[num]]+=1
예제 #19
0
def randrange(seq):
    """ Yields random values from @seq until @seq is empty """
    seq = seq.copy()
    choose = rng().choice
    remove = seq.remove
    for x in range(len(seq)):
        y = choose(seq)
        remove(y)
        yield y
예제 #20
0
def prime_test(divisors_to_try, prime_range):

    non_prime = gen_non_prime(prime_range)
    root = int(non_prime**(.5))

    for i in range(0, divisors_to_try):
        if non_prime % rng(2, root) == 0:
            return False

    return True
예제 #21
0
def makeDungeon(numberOfCells):
    dungeon = []
    stack = []
    beginningCell = Cell([0, 0])
    dungeon.append(beginningCell)
    while len(dungeon) < numberOfCells:
        stack = lookForOptions(dungeon, stack)
        newCell = Cell(stack.pop(rng(len(stack))))
        dungeon.append(newCell)
    drawCells(dungeon, 15)
예제 #22
0
def alphabetic_parallel(md5_prefix):
    try:
        pool = ThreadPool(thread_pool_size)
        pool.schedule_tasks(*[
            lambda: alphabetic_worker_task(
                pool, randomString(rng(1, alphabetic_max_length)),
                string_prefix, md5_prefix) for i in range(max_tries)
        ])
    except:
        pool.stop()
def frageblock():
    global fragebogen
    counter = 0
    while len(fragebogen) != 5:
        r = rng(0, len(antworten) - 1)
        if antworten[r] not in fragebogen:
            fragebogen += [antworten[r]]
            counter += 1
    shuffle(fragebogen)
    output()
    return
def output():
    r2 = rng(0, 4)
    file.write(((' Frage ' + str(fragenummer) + ' ').center(100, '#')) + '\n')
    file.write((testfrage).center(100) + '\n')
    for i in range(len(fragebogen)):
        if i != r2:
            file.write(('[]'.rjust(20)) + '  ' + fragebogen[i] + '\n')
        else:
            file.write(('[x]'.rjust(20)) + '  ' + fragebogen[i] + '\n')
    file.write('\n\n\n')
    return
예제 #25
0
def hunt():
    prey = input("What are you hunting for?\nBison | Rabbits | Deer | People")
    hunt = True
    while hunt == True:
        if prey.lower() == "people":
            print("Well that is unlawful.")
            loot = rng(100,200)
            global family
            global health
            if loot >= 170:
                victim = family[rng(1,len(family))]
                family = family.remove(victim)
                print("In the attack, "+str(victim)+" was found dead....")
            hunt = False
        elif prey.lower() == "bison":
            print("You spot some bison in the distance.")
            loot = rng(150,200)
            hunt = False
        elif prey.lower() == "rabbits":
            print("You find rabbit droppings nearby and set out some snares.")
            loot = rng(50,150)
            hunt = False
        elif prey.lower() == "deer":
            print("You spotted some deer in the distance.")
            loot = rng(100,150)
            hunt = False
    print("You loot "+str(loot)+" from your hunt.")
    global food
    food += loot
    if food >= 500:
        food = 500
    global days
    days -=rng(2,5)
    return food
예제 #26
0
def numeric_parallel(md5_prefix):
    try:
        pool = ThreadPool(thread_pool_size)
        while 1:
            tasks = [
                lambda: numeric_worker_task(pool, rng(1, numeric_max_value),
                                            string_prefix, md5_prefix)
                for i in range(max_tries)
            ]
            pool.schedule_tasks(*tasks)
            while not all([t.idle for t in pool.threads]):
                pass
    except:
        pool.stop()
예제 #27
0
    return left, right


def get_flag(password, p):
    p.send('\n')
    p.recvline()
    salt = p.recvline()[:-1].decode('hex')
    response = ph.combo_hash(salt, password, ph.h_list, ph.no_rounds)
    p.send(response.encode('hex') + '\n')
    print p.recvuntil('}') # interactive()
    quit()


left_dict, right_dict = {}, {}

seed = rng(102400)
for i in range(seed, seed+1024):

    left, right = make_salt_halves(i)

    p.send(left + right + '\n')
    h = p.recvline()[:-1].decode('hex')

    right_plain = xor(h[32:44], h[-12:])
    left_plain = xor(xor(h[:12], h[20:32]), left.decode('hex'))

    left_overlap = left_plain[-4:]
    right_overlap = right_plain[:4]
    left_dict[left_overlap] = left_plain
    right_dict[right_overlap] = right_plain
예제 #28
0
def game(screen, window_size, background_color, colors, gamemode,
         highscores_list):

    #objects speeds
    player_speed = 4
    ball_speed = 4
    ball_incremental_factor = 0.3

    #game_over
    endgame = False

    #text_color_setup
    text_color = colors["white"]
    text_bg = colors["black"]

    #singleplayer vs multiplayer
    if gamemode == 0: enemy_speed = 3
    else: enemy_speed = 4

    #score_display
    player_score = 0
    enemy_score = 0

    #font
    score_font = Font('LCD.ttf', 42)

    #define fps
    clock = pygame.time.Clock()

    #game loop + object preset
    while True:

        #setting up scene
        #game happens in the sub loop

        #images & objects
        player = pygame.image.load("paddle.png")
        player_object = player.get_rect()
        player_object = player_object.move(100, 230)
        player_pos = [100, 230]

        ball = pygame.image.load("ball.png")
        ball_object = ball.get_rect()
        ball_object = ball_object.move(500, 290)
        ball_pos = [500, 290]

        enemy = pygame.image.load("paddle.png")
        enemy_object = enemy.get_rect()
        enemy_object = enemy_object.move(900, 230)
        enemy_pos = [900, 230]

        vertical_left_wall = pygame.image.load("vertical_wall.png")
        vertical_left_wall_object = vertical_left_wall.get_rect()
        vertical_left_wall_object = vertical_left_wall_object.move(0, 0)

        vertical_right_wall = pygame.image.load("vertical_wall.png")
        vertical_right_wall_object = vertical_right_wall.get_rect()
        vertical_right_wall_object = vertical_right_wall_object.move(999, 0)

        horizontal_up_wall = pygame.image.load("horizontal_wall.png")
        horizontal_up_wall_object = horizontal_up_wall.get_rect()
        horizontal_up_wall_object = horizontal_up_wall_object.move(0, 0)

        horizontal_down_wall = pygame.image.load("horizontal_wall.png")
        horizontal_down_wall_object = horizontal_down_wall.get_rect()
        horizontal_down_wall_object = horizontal_down_wall_object.move(0, 599)

        separator = pygame.image.load("separator.png")
        separator_object = separator.get_rect()
        separator_object = separator_object.move(499, 0)

        name_box = pygame.image.load("name_box.png")
        name_box_object = name_box.get_rect()
        name_box_object = name_box_object.move(300, 250)

        #text_name_settings
        text_color = colors["white"]
        text_bg = colors["black"]
        text_name_font = Font('LCD.ttf', 32)

        #text_name
        text_name = text_name_font.render("", True, text_color, text_bg)
        text_name_object = text_name.get_rect()
        text_name_object.center = (310, 260)

        #define_ball_start_velocity
        start_vel_rng = int(rng() * 100)

        if start_vel_rng % 4 == 0:  #down right v> #takes 6 turns for the player to win (4-4-3) speed
            start_vel = ball_speed, ball_speed
            ball_mode = 0
        elif start_vel_rng % 4 == 1:  #up right ^> #takes 16 turns for the player to win (4-4-3) speed
            start_vel = ball_speed, -ball_speed
            ball_mode = 1

        elif start_vel_rng % 4 == 2:  #down left <v #takes 69 turns for the player to win (4-4-3) speed
            start_vel = -ball_speed, ball_speed
            ball_mode = 2

        elif start_vel_rng % 4 == 3:  #up left <^ #takes 59 turns for the player to win (4-4-3) speed
            start_vel = -ball_speed, -ball_speed
            ball_mode = 3

        else:
            pass

        #reset_turn (turn is used for debug purposes)
        turn = 1

        #debug
        #print("")
        #if ball_mode == 0: print("Starting ball direction: Down Right (v>)")
        #if ball_mode == 1: print("Starting ball direction: Up Right (^>)")
        #if ball_mode == 2: print("Starting ball direction: Down Left (<v)")
        #if ball_mode == 3: print("Starting ball direction: Up Left (<^)")
        #print("")

        #game loop
        while True:

            #set fps
            clock.tick(60)

            #fill_background_color
            screen.fill(background_color)

            #array of all keys pressed
            keys_pressed = pygame.key.get_pressed()

            #utility keys
            for event in pygame.event.get():
                if event.type == pygame.QUIT: sys.exit()

            if ((keys_pressed[pygame.K_RALT] or keys_pressed[pygame.K_LALT])
                    and keys_pressed[pygame.K_F4]
                ) or keys_pressed[pygame.K_ESCAPE]:
                sys.exit()

                #player_movement
            elif keys_pressed[pygame.K_w]:
                if not player_object.colliderect(horizontal_up_wall_object):
                    player_object = player_object.move(0, -player_speed)

            elif keys_pressed[pygame.K_s]:
                if not player_object.colliderect(horizontal_down_wall_object):
                    player_object = player_object.move(0, player_speed)

            #enemy_movement
            elif gamemode == 1:  #multiplayer

                if keys_pressed[pygame.K_UP]:
                    if not enemy_object.colliderect(horizontal_up_wall_object):
                        enemy_object = enemy_object.move(0, -enemy_speed)

                elif keys_pressed[pygame.K_DOWN]:
                    if not enemy_object.colliderect(
                            horizontal_down_wall_object):
                        enemy_object = enemy_object.move(0, enemy_speed)
                else:
                    pass

            else:
                pass

            #ball_movement

            #collide_left_wall
            if ball_object.colliderect(vertical_left_wall_object):
                if gamemode == 2: endgame = True  #endless

                enemy_score += 1
                break

            #collide_right_wall
            if ball_object.colliderect(vertical_right_wall_object):
                player_score += 1
                break

            #singleplayer or multiplayer game over
            if player_score == 7 or enemy_score == 7 and gamemode != 2:
                endgame = True
                break

            if ball_mode == 0:  #down right v>
                if ball_object.colliderect(horizontal_down_wall_object):
                    ball_mode = 1
                if ball_object.colliderect(enemy_object):
                    ball_mode = 2

                    #print("Turn: " + str(turn))
                    turn += 1

                    #increase ball speed for multiplayer
                    if gamemode == 1: ball_speed += ball_incremental_factor

                    #add point for endless
                    if gamemode == 2: player_score += 1

                    #print(ball_speed)

                else:
                    ball_object = ball_object.move(ball_speed, ball_speed)
                    if gamemode == 0 or gamemode == 2:
                        enemy_object = enemy_object.move(0, enemy_speed)
                    #player_object = player_object.move(0, player_speed) #debug

            if ball_mode == 1:  #up right ^>
                if ball_object.colliderect(horizontal_up_wall_object):
                    ball_mode = 0
                if ball_object.colliderect(enemy_object):
                    ball_mode = 3

                    #print("Turn: " + str(turn))
                    turn += 1

                    #increase ball speed for multiplayer
                    if gamemode == 1: ball_speed += ball_incremental_factor

                    #add point for endless
                    if gamemode == 2: player_score += 1

                    #print(ball_speed)

                else:
                    ball_object = ball_object.move(ball_speed, -ball_speed)
                    if gamemode == 0 or gamemode == 2:
                        enemy_object = enemy_object.move(0, -enemy_speed)
                    #player_object = player_object.move(0, -player_speed) #debug

            if ball_mode == 2:  #down left <v
                if ball_object.colliderect(horizontal_down_wall_object):
                    ball_mode = 3
                if ball_object.colliderect(player_object):
                    ball_mode = 0

                    #print("Turn: " + str(turn))
                    turn += 1

                    #increase ball speed for multiplayer
                    if gamemode == 1: ball_speed += ball_incremental_factor
                    #print(ball_speed) #debug

                else:
                    ball_object = ball_object.move(-ball_speed, ball_speed)
                    if gamemode == 0 or gamemode == 2:
                        enemy_object = enemy_object.move(0, enemy_speed)
                    #player_object = player_object.move(0, player_speed) #debug

            if ball_mode == 3:  #up left <^
                if ball_object.colliderect(horizontal_up_wall_object):
                    ball_mode = 2
                if ball_object.colliderect(player_object):
                    ball_mode = 1

                    #print("Turn: " + str(turn))
                    turn += 1

                    #increase ball speed for multiplayer
                    if gamemode == 1: ball_speed += ball_incremental_factor
                    #print(ball_speed) #debug

                else:
                    ball_object = ball_object.move(-ball_speed, -ball_speed)
                    if gamemode == 0 or gamemode == 2:
                        enemy_object = enemy_object.move(0, -enemy_speed)
                    #player_object = player_object.move(0, -player_speed) #debug

            #score system

            #display_player_score
            player_score_display = score_font.render(str(player_score), True,
                                                     text_color, text_bg)
            player_score_display_object = player_score_display.get_rect()
            player_score_display_object.center = (window_size[0] // 2 - 200,
                                                  75)

            #display_enemy_score
            enemy_score_display = score_font.render(str(enemy_score), True,
                                                    text_color, text_bg)
            enemy_score_display_object = enemy_score_display.get_rect()
            enemy_score_display_object.center = (window_size[0] // 2 + 200, 75)

            #render UI elements
            screen.blit(separator, separator_object)
            screen.blit(player_score_display, player_score_display_object)
            if gamemode != 2:
                screen.blit(enemy_score_display, enemy_score_display_object)

            #render entities
            screen.blit(player, player_object)
            screen.blit(enemy, enemy_object)
            screen.blit(ball, ball_object)

            #render walls
            screen.blit(vertical_left_wall, vertical_left_wall_object)
            screen.blit(vertical_right_wall, vertical_right_wall_object)
            screen.blit(horizontal_up_wall, horizontal_up_wall_object)
            screen.blit(horizontal_down_wall, horizontal_down_wall_object)

            #pygame.display.update()
            pygame.display.flip()

        #out of game loop, inside setup loop
        if endgame == True:

            if gamemode != 2:
                break  #end the game, return to menu

                #endless
            else:
                get_me_out = False  #break while
                name = ""  #final name
                cell = ["", "", ""]  #name cells
                cell_index = 0  #cell index
                backspace = 0  #number of backspaces issued

                print(highscores_list)

                print("player score: " + str(player_score))
                print("hs list: " + str(highscores_list[12][1]))

                #if the player is in top 10, do the thing
                if player_score >= int(highscores_list[12][1]):

                    print("player score higher than least high score thing")

                    while True:
                        print("in while")
                        for event in pygame.event.get():
                            print("in events for")
                            #print(str(chr(event.key)))
                            if event.type == pygame.KEYDOWN:
                                if event.key == pygame.K_BACKSPACE:
                                    if cell_index != 0: backspace += 1

                                event_key = str(chr(event.key))

                                if cell_index == 0:
                                    if event_key >= 'a' and event_key <= 'z':
                                        cell[cell_index] = str(
                                            ord(event_key) - 32)
                                        cell_index += 1

                                    if event_key >= 'A' and event_key <= 'Z':
                                        cell[cell_index] = event_key
                                        cell_index += 1

                                if cell_index == 1 or cell_index == 2:
                                    if event_key >= 'a' and event_key <= 'z':
                                        cell[cell_index] = str(
                                            ord(event_key) - 32)
                                        cell_index += 1

                                    if event_key >= 'A' and event_key <= 'Z':
                                        cell[cell_index] = event_key
                                        cell_index += 1

                                if cell_index != 0 and backspace >= 1:
                                    backspace -= 1
                                    cell_index -= 1

                                if event.key == 13 and cell_index == 3:
                                    get_me_out = True
                                    name += cell[0] + cell[1] + cell[2]
                                    break  #break for loop

                                text_name = text_name_font.render(
                                    name, True, text_color, text_bg)
                                text_name_object = text_name.get_rect()

                                #print name input box
                                screen.blit(name_box, name_box_object)
                                screen.blit(text_name, text_name_object)
                                pygame.display.flip()

                                x = getche()

                        if get_me_out == True: break

                    highscores_list.append([name, player_score])

                    for i in range(1, len(highscores_list) - 3):
                        for j in range(i + 1, len(highscores_list) - 2):
                            if highscores_list[i][1] > highscores_list[j][i]:
                                tmp = highscores_list[i][1]
                                highscores_list[i][1] = highscores_list[j][1]
                                highscores_list[j][1] = tmp

                    highscores_list.remove(highscores_list[13])

                    file = open("highscores.yml", "w")
                    for i in range(0, len(highscores_list) - 2):
                        file.write(highscores_list[i][0] + ":" +
                                   highscores_list[i][1] + "\n")
                    file.close()

            #break setup loop and return to main menu
            break
예제 #29
0
product_index = 0

while (page_index <= page_index_max):

    print("Scraping " + product_category + " page: " + str(page_index))

    products_waiter = WebDriverWait(driver, 900)
    wait_products = products_waiter.until(
        EC.presence_of_all_elements_located(
            (By.XPATH, '//div[@id="products_list"]//tr')))

    products_table = driver.find_element_by_xpath('//div[@id="products_list"]')
    products = products_table.find_elements_by_xpath('.//tr')

    for product in products:
        if (rng() < 0.1):
            if (debug_mode_on): print("random log-normal wait")
            wait_log_normal(wait_mean, wait_sd)
        product_index += 1
        print("Capturing product #" + str(product_index))
        date_time = datetime.now()
        title = product.find_element_by_xpath(
            './/div[@class="product_title"]/a').text.encode('ascii', 'ignore')
        link = product.find_element_by_xpath(
            './/div[@class="product_title"]/a').get_attribute('href')
        ASIN = re.search("([A-Za-z0-9]+)[?]", link).group(1)
        breadcrumbs = product.find_elements_by_xpath(
            './/div[@class="breadcrumbs"]/a')
        group = ""
        category = ""
        manufacturer = ""
예제 #30
0
        print('Das ist keine Zahl')
        continue
    ziel=int(ziel)
    break

# Führe Loop solange durch bis winner definiert ist.
while 'winner' not in locals():
    print('Wähle: Schere (1), Stein(2) oder Papier(3)?')
    choose=input()
    if not choose.isdecimal() or int(choose) > 3:
        print('Gib eine Zahl zwischen 1 und 3 ein.')
        continue
    else:
        choose=int(choose)
    print()
    pc=rng(0,2)
    print(('Spieler:['+objekte[choose-1]+']').ljust(15)+' VS '+('['+(objekte[pc]+']:Computer')).rjust(15))
    if objekte[choose-1] == objekte[pc]:
        print('Unentschieden')
    elif pc == 0 and choose == 3 or pc == 1 and choose == 1 or pc == 2 and choose == 2:
        print('PC Gewinnt diese Runde')
        pcp+=1
    else:
        print('Player gewinnt diese Runde')
        plp+=1
    if plp == ziel:
        winner='Player'
    elif pcp == ziel:
        winner='PC'
    else:
        print('Der Punktestand lautet:')