def reset(self): player_name = self.game.player_name self.game = Game(Constant.GRID_WIDTH, Constant.GRID_HEIGHT, self.audio_manager) self.game.player_name = player_name # Draw the state once before starting the game so that it is shown as the background of the start menu self.update_state()
def __init__(self): self.offset = 0 # setup stuff pygame.mixer.pre_init(44100, -16, 2, 512) pygame.init() self.window = pygame.display.set_mode((Constant.SCREEN_WIDTH, Constant.SCREEN_HEIGHT), 0, 32) pygame.font.init() self.font = pygame.font.SysFont("Arial", 20) self.audio_manager = AudioManager() self.game = Game(Constant.GRID_WIDTH, Constant.GRID_HEIGHT, self.audio_manager) self.pause_menu = PauseMenu(self.audio_manager, self.game) self.game_over_menu = GameOverMenu(self) self.game_start_menu = GameStartMenu(self) self.start_screen = StartScreen(self.window) self.audio_manager.play_song(song=Songs.ENERGIEK)
def movement(id): data = request.json try: resp = Game().play_human(id, data["player"], data["position"]) return jsonify(resp) except GameDoesNotExist: response = {"msg": GAME_DOES_NOT_EXIST, "status_code": 404} return jsonify(response) except IncorrectPlayer: response = {"msg": INCORRECT_PLAYER, "status_code": 404} return jsonify(response)
def simulate(merge_param, monotonic_param, dup_param, occupation_param, vobose=False): """ Simulates 2048 game. Returns True if win; otherwise, returns False. """ game = Game() while True: movements = game.attempt_movement() if movements is None: # print("Lose") if vobose: game.print_tiles() return False if vobose: game.print_tiles() max_direction = decision_function(movements, game.get_tiles(), merge_param, monotonic_param, dup_param, occupation_param) if game.move(max_direction): if vobose: game.print_tiles() return True
import pygame from main.game import Game if __name__ == '__main__': Game().start() pygame.quit()
from main.game import Game game = Game() if __name__ == '__main__': game.game_start()
import sys import pygame from main import constants from main.game import Game, SCREEN pygame.init() clock = pygame.time.Clock() game = Game() while True: for e in pygame.event.get(): if e.type is pygame.QUIT: sys.exit() game.update() SCREEN.fill(constants.WHITE) game.draw() pygame.display.flip() clock.tick(60) pygame.quit()
# This is a sample Python script. from main.game import Game, DIFFICULTY # Press the green button in the gutter to run the script. if __name__ == '__main__': snake = Game(level=DIFFICULTY['easy']) snake.run() # See PyCharm help at https://www.jetbrains.com/help/pycharm/
class Main: def __init__(self): self.offset = 0 # setup stuff pygame.mixer.pre_init(44100, -16, 2, 512) pygame.init() self.window = pygame.display.set_mode((Constant.SCREEN_WIDTH, Constant.SCREEN_HEIGHT), 0, 32) pygame.font.init() self.font = pygame.font.SysFont("Arial", 20) self.audio_manager = AudioManager() self.game = Game(Constant.GRID_WIDTH, Constant.GRID_HEIGHT, self.audio_manager) self.pause_menu = PauseMenu(self.audio_manager, self.game) self.game_over_menu = GameOverMenu(self) self.game_start_menu = GameStartMenu(self) self.start_screen = StartScreen(self.window) self.audio_manager.play_song(song=Songs.ENERGIEK) # handle a pressed key event in the context of the game root def handle_key_press(self, event_key): self.pause_menu.handle_input(event_key) self.game_over_menu.handle_input(event_key) self.game_start_menu.handle_input(event_key) if event_key in [x for (x, y) in key_digit_events]: if not self.pause_menu.paused: for (x, y) in key_digit_events: if x == event_key: self.game.world.inventory.set_current_item(y) # Handle all pygame events def handle_events(self): for event in pygame.event.get(): self.game.handle_input(event) if event.type == pygame.QUIT: self.game.world.emitter_handler.quit_thread() pygame.quit() sys.exit() if event.type == pygame.KEYDOWN: self.handle_key_press(event.key) if event.type == pygame.MOUSEBUTTONUP: pos = pygame.mouse.get_pos() if event.type == pygame.MOUSEWHEEL: if not self.pause_menu.paused: if event.y == -1: self.game.world.inventory.change_current_selected_item("right") elif event.y == 1: self.game.world.inventory.change_current_selected_item("left") else: print("What the frick kinda mousewheel action was that") # Do all updates to the game state in this function def update_state(self): self.window.fill((0, 0, 0)) self.game.step() # call to the game controller drawing method self.game.draw(self.window) def run(self): # show a start screen self.start_screen.go() # Draw the state once before starting the game so that it is shown as the background of the start menu self.update_state() while True: start_time = time.time() # handle pygame events from the queue self.handle_events() if not self.pause_menu.draw(self.window) and not self.game_over_menu.draw(self.window) and not self.game_start_menu.draw(self.window): self.update_state() # possibly delay program execution to ensure steady frame rate running_time = time.time() - start_time if running_time < 1 / Constant.FRAME_RATE: time.sleep((1 / Constant.FRAME_RATE) - running_time) pygame.display.update() def reset(self): player_name = self.game.player_name self.game = Game(Constant.GRID_WIDTH, Constant.GRID_HEIGHT, self.audio_manager) self.game.player_name = player_name # Draw the state once before starting the game so that it is shown as the background of the start menu self.update_state()
#! /usr/bin/python3 # -*- coding: utf-8 -*- # Simple SuDoKu version, by BLDR 2018 import argparse from main.game import Game if __name__ == '__main__': parser = argparse.ArgumentParser(description='SuDoKu by BLDR.') parser.add_argument('--solve', help='Solve the SuDoKu in sudoku_data.csv', action='store_true') parser.add_argument('--generate', help='Generate a new SuDoKu', action='store_true') args = parser.parse_args() if not args.generate and not args.solve: print('See --help.') game = Game(generate=args.generate, solve=args.solve) game.run()
def new_game(): resp = Game().new_game() return jsonify(resp)
import flask from flask import request, jsonify from main.game import Game from shared.exceptions import GameDoesNotExist, IncorrectPlayer from shared.constants import GAME_DOES_NOT_EXIST, INCORRECT_PLAYER app = flask.Flask(__name__) app.config["DEBUG"] = True Game().create_table() @app.route('/game', methods=['POST']) def new_game(): resp = Game().new_game() return jsonify(resp) @app.route('/game/<id>/movement', methods=['POST']) def movement(id): data = request.json try: resp = Game().play_human(id, data["player"], data["position"]) return jsonify(resp) except GameDoesNotExist: response = {"msg": GAME_DOES_NOT_EXIST, "status_code": 404} return jsonify(response) except IncorrectPlayer: response = {"msg": INCORRECT_PLAYER, "status_code": 404} return jsonify(response)