def main(page_size=SIZE): my_text = False file = Save() inputUser.inputString = "Write your nickname..." curr_user = inputUser.main() pygame.init() text_list = get_list_with_extension("./Texts/", ".txt") music_list = get_list_with_extension("./Music/", ".mp3") text_name = get_text_name(text_list, dict_texts_article[0]) if text_name == "Yes": inputUser.inputString = "Write your text path:" my_text = True text_name = inputUser.main(my_text) enable_music, music_name = get_music(music_list, dict_texts_article[1]) type_mode = get_type_mode(dict_texts_article[2]) trainer = \ game(0, 0, 0, text_name, music_name, enable_music, w_d, type_mode, my_text) if curr_user not in file.get_keys(): save_state(curr_user.format(text_name), 0, 0, 0, file, [0]) points, velocity, text_count, list_points = load(curr_user, file) curr_velocity, curr_points = \ trainer.trainer_loop(curr_user, text_name, page_size) if curr_points > points: points = curr_points average_sp = (curr_velocity + velocity) / 2 list_points.append(curr_points) p1 = threading.Thread(target=save_state, args=(curr_user, points, average_sp, text_count + 1, file, list_points)) p1.start() p1.join() trainer.get_high_score(file, curr_user, list_points)
def test_draw_lines_2(self): w_d = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) trainer = game(1, 2, 3, "ъ.txt", "HardBass.mp3", True, w_d, '') lines = 'Aasiooijoiqke' try: game.draw_lines(trainer, lines, 10, 6) except Exception as e: raise e
def test_draw_lines(self): w_d = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) trainer = game(1, 2, 3, "ъ.txt", "HardBass.mp3", True, w_d, '') lines = ["Aasqkedpokqepod", "FqepodaaJfwefewadsa", "FdoJdasdefasdo"] try: game.draw_lines(trainer, lines, 5, 2) except Exception as e: raise e
def test_init(self): trainer = game(1, 2, 3, "ъ.txt", "HardBass.mp3", True, '', '') self.assertEqual(trainer.velocity, 3) self.assertEqual(trainer.count_mistakes, 1) self.assertEqual(trainer.text_count, 2) self.assertEqual(trainer.text_name, "ъ.txt") self.assertEqual(trainer.music_name, "HardBass.mp3") self.assertTrue(trainer.enable_music)
if args.test: args.p2 = "AIs/dummy.py" if (args.seed == None): args.seed = int(1000000000 * time.time()) else: args.seed = int(args.seed) rng = random.Random(args.seed) res = [] seed_list = [] nb_wins = {'p1': 0, 'p2': 0, 'tie': 0} for game in tqdm(range(int(args.nb_games))): res.append(game_loop.game(args.p1.replace('/', '.')[:-3], args.p2.replace('/', '.')[:-3], int(args.width),\ int(args.height), col, args.ui, args.synchronous, int(args.nb_moves), float(args.density), args.test, int(args.fps), rng)) seed_list.append(args.seed) args.seed = int(1000000000 * time.time()) rng = random.Random(args.seed) for game in res: if game['p1'] > game['p2']: nb_wins['p1'] += 1 if game['p2'] > game['p1']: nb_wins['p2'] += 1 if game['p1'] == game['p2']: nb_wins['tie'] += 1 print(nb_wins) print(seed_list)
def menu(): global screen pygame.init() pygame.display.set_caption('PONG DUALS') pygame.font.init() font = pygame.font.Font("GB_boot.ttf", 20) h_color = (0, 255, 0) color = (0, 128, 0) text = [ 'START GAME - 1 PLAYER', 'START GAME - 2 PLAYER', 'OPTIONS', 'QUIT GAME' ] options = [] for txt in text: options.append(font.render(txt, True, color)) dist_btw = options[0].get_height() + 5 def centre_menu(surface, opt): menu_x = (screen.get_width() / 2 - opt.get_width() / 2) menu_y = (screen.get_height() / 2 - opt.get_height() / 2 - 30) return (menu_x, menu_y) selected = 0 while True: for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() if event.type == KEYDOWN: if event.key == K_UP: selected -= 1 if event.key == K_DOWN: selected += 1 if selected < 0: selected = 0 if selected > len(options) - 1: selected = len(options) - 1 if event.key == K_RETURN: if selected == 0: game_loop.game(screen) elif selected == 1: Input.set_players(2) game_loop.game(screen) elif selected == 2: screen = option_menu.options(screen) elif selected == 3: pygame.quit() sys.exit() screen.fill((0, 0, 0)) for i in range(0, len(options)): x, y = centre_menu(screen, options[i]) if i == selected: options[i] = font.render(text[i], False, h_color) else: options[i] = font.render(text[i], False, color) screen.blit(options[i], (x, (y + i * dist_btw))) pygame.display.update()