コード例 #1
0
ファイル: server.py プロジェクト: colinjfw/springboard-snake
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"
    }
コード例 #2
0
from snake.game import Game

if __name__ == '__main__':
    Game().run()
コード例 #3
0
ファイル: run.py プロジェクト: AuthurExcalbern/AI-Snake
    "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()
コード例 #4
0
#!/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_())
コード例 #5
0
def __easyrun(game: Game) -> None:
    """The program allows launching snakegame cli application."""
    game.run()
コード例 #6
0
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)
コード例 #7
0
def play_game(stdsrc):
    snake_game = Game(stdsrc)
    snake_game.play()
コード例 #8
0
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()
コード例 #9
0
from snake.game import Game

if __name__ == '__main__':
    game = Game()
    game.start()
コード例 #10
0
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