def start(): data = request.json game_id = data['game_id'] board_width = data['width'] board_height = data['height'] print('start', data) games[game_id] = Game(game_id=game_id, width=board_width, height=board_height, snake_id=None) return { "color": "#565287", "secondary_color": "#7d7989", "head_url": "http://orig10.deviantart.net/cf94/f/2012/317/1/6/snake_wallpaper__by_shadow_of_nemo-d5kwelc.jpg", "name": "Shadow Snek", "head_type": "smile", "tail_type": "curled" }
from snake.game import Game if __name__ == '__main__': Game().run()
"greedy": "GreedySolver", "hamilton": "HamiltonSolver", "dqn": "DQNSolver", } dict_mode = { "normal": GameMode.NORMAL, "bcmk": GameMode.BENCHMARK, "train_dqn": GameMode.TRAIN_DQN, "train_dqn_gui": GameMode.TRAIN_DQN_GUI, } parser = argparse.ArgumentParser(description="Run snake game agent.") parser.add_argument( "-s", default="greedy", choices=dict_solver.keys(), help="name of the solver to direct the snake (default: hamilton)") parser.add_argument("-m", default="normal", choices=dict_mode.keys(), help="game mode (default: normal)") args = parser.parse_args() conf = GameConf() conf.solver_name = dict_solver[args.s] conf.mode = dict_mode[args.m] print("Solver: %s Mode: %s" % (conf.solver_name, conf.mode)) Game(conf).run()
#!/usr/bin/python3 # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication from snake.game import Game from snake.gui import SnakeWindow if __name__ == '__main__': app = QApplication([]) snake = SnakeWindow(Game(30, 30)) sys.exit(app.exec_())
def __easyrun(game: Game) -> None: """The program allows launching snakegame cli application.""" game.run()
def main(): FPS = 10 SECOND_PAST = 0 with open(path, "r") as file: obj = json.load(file) TIME = obj["play_time"] run = True paused = False game = Game(WIN) while run: dt = clock.tick(FPS + game.score//2) SECOND_PAST += dt if SECOND_PAST >= 1000: TIME += 1 SECOND_PAST = 0 for event in pygame.event.get(): if event.type == pygame.QUIT: run = False if game.finished: if event.type == pygame.QUIT: run = False break if event.type == pygame.KEYDOWN: if event.key == pygame.K_q: run = False break elif event.key == pygame.K_a: game.res() if event.type == pygame.KEYDOWN: current = game.get_snake_pos() if event.key == pygame.K_q: run = False break elif event.key == pygame.K_RIGHT: if current != "R" and current != "L": game.set_snake_pos("R") game.modify((0, 1)) elif event.key == pygame.K_LEFT: if current != "R" and current != "L": game.set_snake_pos("L") game.modify((0, -1)) elif event.key == pygame.K_UP: if current != "U" and current != "D": game.set_snake_pos("U") game.modify((-1, 0)) elif event.key == pygame.K_DOWN: if current != "U" and current != "D": game.set_snake_pos("D") game.modify((1, 0)) elif event.key == pygame.K_SPACE: paused = True while paused: font = pygame.font.SysFont("comicsans", 60, True) text = font.render("Paused", True, WHITE) WIN.blit(text, ((WIDTH - text.get_width()) // 2, (HEIGHT - text.get_height())//2)) for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: paused = False if event.key == pygame.K_q: paused = False run = False break pygame.display.update() game.update() with open(path, "r") as file: obj = json.load(file) with open(path, "w") as file: obj["play_time"] = TIME json.dump(obj, file, indent=2)
def play_game(stdsrc): snake_game = Game(stdsrc) snake_game.play()
def game_scene(): game = Game(screen) run = True SCREEN_UPDATE = pygame.USEREVENT pygame.time.set_timer(SCREEN_UPDATE, VELOCITY) while run: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() if event.type == SCREEN_UPDATE: game.moved_done = True game._move() if event.type == pygame.KEYDOWN: if event.key == pygame.K_UP: game.change_snake_direction(UP) if event.key == pygame.K_RIGHT: game.change_snake_direction(RIGHT) if event.key == pygame.K_DOWN: game.change_snake_direction(DOWN) if event.key == pygame.K_LEFT: game.change_snake_direction(LEFT) if event.key == pygame.K_SPACE: pygame.time.set_timer(SCREEN_UPDATE, RUSH) if event.key == pygame.K_ESCAPE: run = False if event.type == pygame.KEYUP: if event.key == pygame.K_SPACE: pygame.time.set_timer(SCREEN_UPDATE, VELOCITY) screen.fill(GREEN) game.update()
from snake.game import Game if __name__ == '__main__': game = Game() game.start()
def game_function(config, model): game_config = config['base_game_config'] game_config["neural_network"] = model game = Game(game_config) result = game.run() return result