Best Python code snippet using yandex-tank
main.py
Source:main.py
...44score = 045pattern = []46time_delay = 50047running = True48def render_screen(g=green, r=red, y=yellow, b=blue):49 screen.fill(black)50 score_txt = font.render('СÑÑÑ: ' + str(score), True, white)51 screen.blit(score_txt, (450, 50))52 pygame.draw.rect(screen, g, pygame.Rect(50, 150, 250, 250))53 pygame.draw.rect(screen, r, pygame.Rect(300, 150, 250, 250))54 pygame.draw.rect(screen, y, pygame.Rect(50, 400, 250, 250))55 pygame.draw.rect(screen, b, pygame.Rect(300, 400, 250, 250))56 pygame.display.update()57def show_pattern():58 time_delay = 500 - 100 * int(len(pattern) / 5)59 if time_delay <= 100:60 time_delay = 10061 render_screen()62 pygame.time.delay(1000)63 for x in pattern:64 for event in pygame.event.get():65 if event.type == pygame.QUIT:66 quit_game()67 if x == 1:68 # ÐÐÐÐÐЫÐ69 render_screen(g=light_green)70 green_sound.play()71 pygame.time.delay(time_delay)72 render_screen()73 green_sound.stop()74 elif x == 2:75 # ÐÐ ÐСÐЫÐ76 render_screen(r=light_red)77 red_sound.play()78 pygame.time.delay(time_delay)79 render_screen()80 red_sound.stop()81 elif x == 3:82 # ÐÐÐТЫÐ83 render_screen(y=light_yellow)84 yellow_sound.play()85 pygame.time.delay(time_delay)86 render_screen()87 yellow_sound.stop()88 elif x == 4:89 # СÐÐÐÐ90 render_screen(b=light_blue)91 blue_sound.play()92 pygame.time.delay(time_delay)93 render_screen()94 blue_sound.stop()95 pygame.time.delay(time_delay)96def new_pattern():97 global score98 score = len(pattern)99 pattern.append(random.randint(1, 4))100def check_pattern(player_pattern):101 if player_pattern != pattern[:len(player_pattern)]:102 lose_screen()103def click_listen():104 turn_time = time.time()105 player_pattern = []106 while time.time() <= turn_time + 3 and len(player_pattern) < len(pattern):107 for event in pygame.event.get():108 if event.type == pygame.QUIT:109 quit_game()110 if event.type == pygame.MOUSEBUTTONUP and event.button == 1:111 pos = pygame.mouse.get_pos()112 x = pos[0]113 y = pos[1]114 if 50 < x < 300 and 150 < y < 400:115 render_screen(g=light_green)116 green_sound.play()117 pygame.time.delay(time_delay)118 green_sound.stop()119 render_screen()120 player_pattern.append(1)121 check_pattern(player_pattern)122 turn_time = time.time()123 elif 300 < x < 550 and 150 < y < 400:124 render_screen(r=light_red)125 red_sound.play()126 pygame.time.delay(time_delay)127 red_sound.stop()128 render_screen()129 player_pattern.append(2)130 check_pattern(player_pattern)131 turn_time = time.time()132 elif 50 < x < 300 and 400 < y < 650:133 render_screen(y=light_yellow)134 yellow_sound.play()135 pygame.time.delay(time_delay)136 yellow_sound.stop()137 render_screen()138 player_pattern.append(3)139 check_pattern(player_pattern)140 turn_time = time.time()141 elif 300 < x < 550 and 400 < y < 650:142 render_screen(b=light_blue)143 blue_sound.play()144 pygame.time.delay(time_delay)145 blue_sound.stop()146 render_screen()147 player_pattern.append(4)148 check_pattern(player_pattern)149 turn_time = time.time()150 if not time.time() <= turn_time + 3:151 lose_screen()152def quit_game():153 running = False154 pygame.display.quit()155 pygame.quit()156 sys.exit()157def lose_screen():158 lose_sound.play()159 global score160 screen.fill(black)...
replay_game_session.py
Source:replay_game_session.py
1import json2import time3import cv24import os5import argparse6import gym7import gym_super_mario_bros8argument_parser = argparse.ArgumentParser(description="A script used to replay the game session.")9argument_parser.add_argument("-i", "--input-path", type=str, default=None)10argument_parser.add_argument("-o", "--output-path", type=str, default= None)11argument_parser.add_argument("-r", "--render-screen", type=bool, default=True)12_STAGE_ORDER = [13 (1, 1),14 (1, 2),15 (1, 3),16 (2, 2),17 (1, 4),18 (3, 1),19 (4, 1),20 (2, 1),21 (2, 3),22 (2, 4),23 (3, 2),24 (3, 3),25 (3, 4),26 (4, 2)27]28def make_next_stage(world, stage, num):29 if num < len(_STAGE_ORDER):30 world = _STAGE_ORDER[num][0]31 stage = _STAGE_ORDER[num][1]32 else:33 if stage >= 4:34 stage = 135 if world >= 8:36 world = 137 else:38 world += 139 else:40 stage += 141 return world, stage, "SuperMarioBros-%s-%s-v0" % (str(world), str(stage))42def replay_game_from_actions(session_path, output_path=None, render_screen=False):43 if output_path is not None and not os.path.exists(output_path):44 os.makedirs(output_path)45 with open(session_path) as json_file:46 data = json.load(json_file)47 first_world = "SuperMarioBros-1-1-v0"48 env = gym_super_mario_bros.make(first_world)49 next_state = env.reset()50 world = 151 stage = 152 stage_num = 053 finish = True54 frame_number = 155 steps = 056 for action in data["obs"]:57 58 if render_screen:59 env.render()60 61 next_state, reward, done, info = env.step(action)62 steps += 163 if output_path is not None:64 cvt_state = cv2.cvtColor(next_state, cv2.COLOR_BGR2RGB)65 cv2.imwrite(os.path.join(output_path, "game_%s.png" % frame_number), cvt_state)66 is_first = True67 frame_number += 168 69 if info["flag_get"]:70 finish = True71 if done:72 done = False73 end = time.time()74 75 if finish or steps >= 16000:76 stage_num += 177 world, stage, new_world = make_next_stage(world, stage, stage_num)78 env.close()79 env = gym_super_mario_bros.make(new_world)80 finish = False81 steps = 082 next_state = env.reset()83if __name__ == "__main__":84 args = argument_parser.parse_args()85 input_path = args.input_path86 render_screen = args.render_screen87 output_path = args.output_path88 if input_path is None:89 raise Exception("Please provide the path to a game session!")90 replay_game_from_actions(91 session_path=input_path,92 output_path=output_path,93 render_screen=render_screen...
day_13_2019.py
Source:day_13_2019.py
1import time2from typing import List, Any, Tuple3from collections import defaultdict4from util.helpers import solution_timer5from util.input_helper import read_entire_input6from util.console import console7from util.shared import sgn8from year_2019.intcode import IntCode, parse9display = False10data = read_entire_input(2019,13)11def render(screen, score):12 tiles = {0:" ",1:f'[white]{chr(9608)}', 2:"[green]#", 3: "-", 4: "[red]O"}13 xmin = min(i[0] for i in screen.keys())14 xmax = max(i[0] for i in screen.keys())15 ymin = min(i[1] for i in screen.keys())16 ymax = max(i[1] for i in screen.keys())17 image = '\n'.join(''.join(tiles[screen[(i,j)]] for i in range(xmin, xmax+1)) for j in range(ymin, ymax+1))18 return image+'\n'+"-"*20 + f'{score:05d}' + "-"*2019@solution_timer(2019,13,1)20def part_one(data: List[str]):21 instructions = parse(data)22 game = IntCode(instructions)23 screen = {}24 while not game.halted:25 x, y, tile = game.run([]), game.run([]), game.run([])26 screen[(x,y)] = tile27 if display:28 console.print(render(screen, 0))29 return sum(1 for _, tile in screen.items() if tile == 2)30@solution_timer(2019,13,2)31def part_two(data: List[str]):32 render_screen = False33 instructions = parse(data)34 instructions[0] = 235 game = IntCode(instructions)36 screen = {}37 inputs = []38 while not game.halted:39 x = game.run(inputs)40 y = game.run(inputs)41 tile = game.run(inputs)42 if (x,y) == (-1,0):43 score = tile44 else:45 screen[(x,y)] = tile46 # if (x,y) == 47 ball = [position for position, tile in screen.items() if tile == 4]48 paddle = [position for position, tile in screen.items() if tile == 3]49 if ball and paddle:50 inputs = [sgn(ball[0][0]-paddle[0][0])]51 # if tile == 4:52 # render_screen = True53 if display and render_screen:54 console.print("\33[2J")55 console.print(render(screen, score))56 # print(f"score: {score}")57 render_screen = False58 #time.sleep(0.05)59 i = input()60 return score61if __name__ == "__main__":62 data = read_entire_input(2019,13)63 part_one(data)...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!