def reset(self): # reset env self.env = np.zeros((self.max_h, self.max_w)) # background self.env = self.draw_boundary(self.env) # Add player 1 head_x1, head_y1 = self.get_randoms() self.p1 = Snake(head_x1, head_y1, self.w, self.h) self.env = self.p1.draw(self.env, player=1) # Add player 2 head_x2, head_y2 = self.get_randoms() self.p2 = Snake(head_x2, head_y2, self.w, self.h) self.env = self.p2.draw(self.env, player=2) # Add food self.food_x, self.food_y = self.get_randoms() self.env[self.food_y, self.food_x] = CONSTANTS['food'] # Get player's states (v for vision) self.v1 = self.p1.look(self.env, self.agent_vision) self.v2 = self.p2.look(self.env, self.agent_vision) return np.hstack((self.v1.ravel(), (head_x1 - self.food_x, head_y1 - self.food_y))), self.v1, \ np.hstack((self.v2.ravel(), (head_x2 - self.food_x, head_y2 - self.food_y))), self.v2
def __init__(self): self.laberinto = Laberinto() self.puzzle = Puzzle() self.ruta = Ruta() self.snake = Snake() self.evitandoVirus = EvitandoVirus() self.puntaje = 0
def main(stdscr): fps = 5 stdscr.timeout(1000 // fps) # hide cursor curses.curs_set(0) # init head at top left border = 2 stdscr.border(border) # h = Head(border, border, stdscr, '@') f = Food(border, border, stdscr, '$') s = Snake(border, border, stdscr) score = 0 while True: stdscr.clear() # index of keyboard # index = -1 if no key inserted in loop stdscr.addstr(1, 10, f'score: {score} type ESC to exit') # h.render() f.render() s.render() key = stdscr.getch() log('key:', key) s.update(key) # ESC == 27 if s.collid() or key == 27: break if s.head.coor == f.coor: f.reset() s.grow() score += 1
def run_game(): # 游戏配置信息 game_setting = Setting() # 初始化游戏,并创建一个屏幕对象 pygame.init() fps_clock = pygame.time.Clock() # 图标 icon = pygame.image.load("res/snake.png") screen = pygame.display.set_mode( [game_setting.screen_width, game_setting.screen_width]) pygame.display.set_caption("Greedy Snake") pygame.display.set_icon(icon) # 创建一条蛇 snake = Snake(game_setting, screen) # 创建一个食物 food = Food(game_setting, screen, snake) # 游戏的主循环 while True: gf.keyboard_listener(game_setting, snake) snake.update() gf.snake_eat_food(snake, food) gf.update_screen(game_setting, screen, snake, food) fps_clock.tick(game_setting.snake_speed)
def main(): board_size = 15 v = View(board_size) s = Snake(board_size) key_mapping = { 'H': s.DIR_UP, 'M': s.DIR_RIGHT, 'P': s.DIR_DOWN, 'K': s.DIR_LEFT } clear = lambda: os.system('cls') clear() while True: if msvcrt.kbhit(): msvcrt.getch() # skip 0xe0 key = msvcrt.getch().decode('utf-8') if key in key_mapping: if not s.update(key_mapping[key]): return else: if not s.update(None): return #print(s.get_food_x_y()) #print(s.get_coord_list()) v.update_gameboard(s.get_coord_list(), s.get_food_x_y()) time.sleep(0.1) clear = lambda: os.system('cls') clear()
def __init__(self, ml = False): self._running = True self._display_surf = None if ml: speed = 10 else: speed = 200 self.game = Snake(speed) self.human = not ml
def start_server(port='8080'): server = Battlesnake(Snake()) cherrypy.config.update({'server.socket_host': '0.0.0.0'}) cherrypy.config.update({ 'server.socket_port': int(os.environ.get('PORT', port)), }) print('Starting Battlesnake Server...') cherrypy.quickstart(server)
def __init__(self, maze_size=_MAZE_SIZE, start_location=Coordinate(int(_MAZE_SIZE / 2), int(_MAZE_SIZE / 2)), tick_interval=1): self._maze_size = maze_size self._snake = Snake(head=start_location) self._food = None self._running = False self._timer = None self._tick_interval = tick_interval self._tick_count = 0
def __init__(self): pygame.init() self.CLOCK = Clock() self.ROWS_COLS = 15 self.GRID_SIZE = 50 self.SCREEN_SIZE = self.GRID_SIZE * self.ROWS_COLS self.DISPLAY = display.set_mode((self.SCREEN_SIZE, self.SCREEN_SIZE)) self.BACKGROUND_COLOR = (0, 0, 0) self.GRID_COLOR = (100, 100, 100) self.SNAKE_COLOR = (0, 255, 0) self.apple_generator = AppleGenerator(self.ROWS_COLS, self.GRID_SIZE) self.apple = self.apple_generator.generate_apple(self.snake) mid = (self.ROWS_COLS // 2) * self.GRID_SIZE self.start_x_y = (mid, mid) self.snake = Snake(self.start_x_y, self.GRID_SIZE, self.SCREEN_SIZE, self.SNAKE_COLOR, self.spawn_apple) self.exit_clicked = None self.playing = None
def __init__(self): self.fps = 30 self.fpsclock = pygame.time.Clock() self.view = View() self.snake_obj = Snake() pygame.time.set_timer(USEREVENT, 150) # ['base', 'menu', 'pause', 'ingame', 'gameover', 'locating_server', 'lan_game_mode'] self.screen = 'menu' self.on_menu = True self.on_pause = False self.thread_list = [] self.interface = Interface(main=self, view=self.view, snake=self.snake_obj)
from snake.snake import Snake # Start application if __name__ == '__main__': s = Snake() s.run()
def reset(self): self.snake = Snake(self.start_x_y, self.GRID_SIZE, self.SCREEN_SIZE, self.SNAKE_COLOR, self.spawn_apple) self.spawn_apple()
def change_snake(self): self.snake = Snake() self.main.snake_obj = self.snake self.snake.interface = self
def __init__(self, client=True, server=False): self.server = Server() if server else None self.client = Client() self.enemy_obj = Snake() self.interface = None
from snake.snake import Snake from snake.settings import Settings from snake.spec_helper import * with description('Snake') as self: with it('has a default length'): snake = Snake() expect(snake.length).to(equal(3)) with context('no velocity'): with it('does not grow'): snake = Snake() snake.tick(1000) expect(snake.length).to(equal(3)) with context('positive velocity'): with it('grows at the expected rate'): snake = Snake() snake.post = Dummy() snake.queue_growth(2) snake.set_velocity(Settings.snake_size / 100.0, 0 ) # Moving right, growing snake.tick(100) expect(snake.length).to(equal(4)) expect(snake.growing).to(equal(1)) expect(snake.head_pt.x).to(equal(Settings.snake_size * 3)) expect(snake.head_pt.y).to(equal(0))
def main(self, screen): screen.fill((0, 0, 0)) tutorial1 = """Geraldo é uma cobrinha sapeca e que vive faminta. Sua comida favorita é a fruta maça.""" tutorial2 = """Porém Geraldo é bem especifico, ele só come maçãs que são de numero primo no pé.""" tutorial3 = """INSTRUÇÔES""" tutorial4 = """Para isso ajude Geraldo a se alimentar capturando apenas as maçãs com numeros primos""" tutorial5 = """E utilizando as setas do teclado para se mover""" ##### TUTORIAL ######################## score_font = pygame.font.Font('freesansbold.ttf', 13) score_screen = score_font.render(f'{tutorial1}', True, (255, 255, 255)) score_rect = score_screen.get_rect() score_rect.midtop = (600 / 2, 10) screen.blit(score_screen, score_rect) score_font = pygame.font.Font('freesansbold.ttf', 13) score_screen = score_font.render(f'{tutorial2}', True, (255, 255, 255)) score_rect = score_screen.get_rect() score_rect.midtop = (600 / 2, 50) screen.blit(score_screen, score_rect) score_font = pygame.font.Font('freesansbold.ttf', 13) score_screen = score_font.render(f'{tutorial3}', True, (255, 255, 255)) score_rect = score_screen.get_rect() score_rect.midtop = (600 / 2, 100) screen.blit(score_screen, score_rect) score_font = pygame.font.Font('freesansbold.ttf', 13) score_screen = score_font.render(f'{tutorial4}', True, (255, 255, 255)) score_rect = score_screen.get_rect() score_rect.midtop = (600 / 2, 150) screen.blit(score_screen, score_rect) score_font = pygame.font.Font('freesansbold.ttf', 13) score_screen = score_font.render(f'{tutorial5}', True, (255, 255, 255)) score_rect = score_screen.get_rect() score_rect.midtop = (600 / 2, 200) screen.blit(score_screen, score_rect) pygame.display.update() pygame.time.wait(9000) snake_skin = pygame.Surface((self.BLOCK_SIZE, self.BLOCK_SIZE)) snake_skin.fill((255, 255, 255)) self.snake = Snake(snake_skin, self.screen_size) prime_apple_sprite = pygame.Surface((self.BLOCK_SIZE, self.BLOCK_SIZE)) prime_apple_sprite.fill((255, 0, 0)) prime_apple = Apple( prime_apple_sprite, # sprite self.on_grid_random(), # pos self.prime_apple_randomizer(), # num pygame.font.SysFont("arial", self.FONT_SIZE) # font ) normal_apple_sprite = pygame.Surface( (self.BLOCK_SIZE, self.BLOCK_SIZE)) normal_apple_sprite.fill((255, 0, 0)) normal_apple = Apple( normal_apple_sprite, # sprite self.on_grid_random(), # pos self.normal_apple_randomizer(), # num pygame.font.SysFont("arial", self.FONT_SIZE) # font ) clock = pygame.time.Clock() while True: """ This is the main looping of the game, resposible for update the screen,snake and apples """ clock.tick(10 if self.snake.fast else 5) for event in pygame.event.get(): if event.type == QUIT: pygame.quit() exit() if event.type == KEYDOWN: self.snake.listen(event) if event.key == K_ESCAPE: return if self.snake.collision(prime_apple.pos): prime_apple.change(self.on_grid_random(), self.prime_apple_randomizer()) normal_apple.change(self.on_grid_random(), self.normal_apple_randomizer()) self.snake.grow() self.snake.counter = self.snake.counter + 1 if self.snake.collision(normal_apple.pos): self.snake.snake_reset() prime_apple.change(self.on_grid_random(), self.prime_apple_randomizer()) normal_apple.change(self.on_grid_random(), self.normal_apple_randomizer()) if self.snake.boundry_collision( ): # Check the collision with boudaries game_over = True self.game_over_screen(screen) return self.snake.update() screen.fill((0, 0, 0)) prime_apple.drawn(screen, 20) normal_apple.drawn(screen, 20) self.snake.drawn(screen, self.BLOCK_SIZE) pygame.display.update()
def main(): snake = Snake(SCREEN_WIDTH, SCREEN_HEIGHT) snake.play()