예제 #1
0
def get_newgame():
    """returns the game scene"""

    scene = Scene()
    background_layer = BackgroundLayer()

    # model
    model = GameModel(background_layer)

    # controller
    ctrl = GameCtrl(model)

    # view
    hud = HUD()
    view = GameView(model, hud)

    # set controller in model
    model.set_controller(ctrl)

    # add controller
    scene.add(ctrl, z=1, name="controller")

    # add view
    scene.add(hud, z=3, name="hud")

    scene.add(background_layer, z=0, name="background")
    scene.add(view, z=2, name="view")

    return scene
예제 #2
0
    def __init__(self, gsm):
        self.gsm = gsm
        self.background = Background(
            os.path.join("res", "PlayState", "background.png"))
        self.camera = Camera(self)
        self.HUD = HUD(self.gsm)
        # Key handling
        self.leftKeyDown = False
        self.rightKeyDown = False
        self.upKeyDown = False

        self.spriteSheet = SpriteSheet(
            os.path.join("res", "PlayState", "Spritesheet.png"), 1)

        # Holds all the objects in the game
        self.allObjectList = pygame.sprite.Group()
        self.activeObjectList = pygame.sprite.Group()
        self.terrainList = pygame.sprite.Group()
        self.interactableList = pygame.sprite.Group()
        self.enemyList = pygame.sprite.Group()
        self.enemyAIList = pygame.sprite.Group()
        self.player = None

        self.level = currentLevel  # Sets the current level
        self.loadLevel(self.level)  # Loads the level
예제 #3
0
    def __init__(self, nw_tile, nh_tile):
        self.nw_tile = nw_tile  # Set number of tile in x
        self.nh_tile = nh_tile  # Set number of tile in y

        self.number_body = 3  # Set number of snake's body
        self.score = 0  # Set score of sanke

        self.db_save_size = 6  # Column size of data base
        self.id = 0  # index of database's column
        self.type = 1
        self.x = 2
        self.y = 3
        self.s = 4
        self.t = 5

        self.enemy_dict = {}  # Enemy snake dictionary
        self.client_state_dict = {
            'OK': 0,
            'notNStart': 1,
            'notNExit': 2
        }  # KList state of client
        self.client_state = self.client_state_dict[
            'notNStart']  # State of cleint
        self.play_state = False  # Playing state
        self.game_time = 0  # time of game

        self.tile_mng = TileManager(width, height, self.nw_tile,
                                    self.nh_tile)  # Set TileManager
        self.snake = Snake(1, 1, self.tile_mng, green, SNAKE,
                           raw_input("Enter : "),
                           self.number_body)  # Set my sanke
        self.apple = Apple(0, 0, self.tile_mng, red, 0)  # Set apple
        self.hud = HUD()  # Set HUD
예제 #4
0
    def __init__(self, world):
        #화면 크기
        self.width = 800
        self.height = 600
        #센서 종류
        self.actor_list = []
        self.extra_list = []
        self.extra_controller_list = []
        self.player = None
        self.camera_rgb = None
        self.camera_semseg = None
        self.lane_invasion_sensor = None
        self.collision_sensor = None
        self.gnss_sensor = None
        self.waypoint = None
        self.path = []

        self.world = world
        self.map = world.get_map()
        self.spectator = self.world.get_spectator()
        self.hud = HUD(self.width, self.height)
        self.waypoints = self.map.generate_waypoints(3.0)
        ## visualize all waypoints ##
        # for n, p in enumerate(self.waypoints):
        # if n>1000:
        #     break
        # world.debug.draw_string(p.transform.location, 'o', draw_shadow=True,
        #                         color=carla.Color(r=255, g=255, b=255), life_time=30)

        self.extra_num = 5
        self.control_mode = None

        self.restart()
        self.main()
    def __init__(self, world):
        #화면 크기
        n_iters = 100
        self.width = 800
        self.height = 600
        #센서 종류
        self.actor_list = []
        self.extra_list = []
        self.extra_list = []
        self.extra_controller_list = []
        self.extra_dl_list = []
        self.extra_dl_list = []
        self.player = None
        self.camera_rgb = None
        self.camera_semseg = None
        self.lane_invasion_sensor = None
        self.collision_sensor = None
        self.gnss_sensor = None
        self.waypoint = None
        self.path = []
        self.save_dir = None
        self.world = world
        self.map = world.get_map()
        self.spectator = self.world.get_spectator()
        self.hud = HUD(self.width, self.height)
        self.waypoints = self.map.generate_waypoints(3.0)
        self.lane_change_time = time.time()
        self.max_Lane_num = 4
        self.ego_Lane = 2
        self.agent = None
        self.controller = None
        self.is_first_time = True
        self.decision = None
        self.simul_time = time.time()
        self.accumulated_reward = 0
        self.end_point = 0
        self.ROI_length = 1000  #(meters)

        ## visualize all waypoints ##
        # for n, p in enumerate(self.waypoints):
        #     world.debug.draw_string(p.transform.location, 'o', draw_shadow=True,
        #                             color=carla.Color(r=255, g=255, b=255), life_time=999)

        settings = self.world.get_settings()
        # settings.no_rendering_mode = True
        # settings.synchronous_mode = True
        settings.fixed_delta_seconds = 0.02
        self.world.apply_settings(settings)
        self.extra_num = 30
        self.section = 0
        self.lane_distance_between_start = None
        self.lane_distance_between_end = None
        self.lane_change_point = None
        self.episode_start = None
        self.index = 0
        self.pre_max_Lane_num = self.max_Lane_num

        self.restart()
        self.main()
예제 #6
0
def init():
    #game
    pygame.init()
    screen = pygame.display.set_mode((val.width + val.l_width, val.height))
    clock = pygame.time.Clock()
    pygame.font.init()
    pygame.display.set_caption(val.title)
    font = pygame.font.SysFont('Comic Sans MS', 20)
    #HUD
    hud = HUD(font, pygame, screen)
    return (screen, pygame, clock, font, hud)
예제 #7
0
    def __init__(self, gsm):
        self.gsm = gsm
        self.HUD = HUD(self.gsm)
        global currentLevel
        global highestLevelComplete

        # If you beat all the levels
        if highestLevelComplete == 5:
            self.gsm.setState(self.gsm.VICTORYSTATE)

        # Level Images
        self.levelImgRed = pygame.image.load(
            os.path.join("res", "MapState", "map level red.png"))
        self.levelImgRed = pygame.transform.scale(self.levelImgRed, (50, 50))

        self.levelImgBlue = pygame.image.load(
            os.path.join("res", "MapState", "map level blue.png"))
        self.levelImgBlue = pygame.transform.scale(self.levelImgBlue, (50, 50))

        self.levelImgGray = pygame.image.load(
            os.path.join("res", "MapState", "map level gray.png"))
        self.levelImgGray = pygame.transform.scale(self.levelImgGray, (50, 50))

        # Level Locations
        # Level1
        self.level1X = 100
        self.level1Y = 500

        # Level2
        self.level2X = 450
        self.level2Y = 425

        # Level 3
        self.level3X = 275
        self.level3Y = 325

        # Level 4
        self.level4X = 600
        self.level4Y = 250

        # Level 5
        self.level5X = 350
        self.level5Y = 125

        # Player boat (navigator)

        self.player = pygame.image.load(
            os.path.join("res", "MapState", "menu boat.png"))
        self.playerX = 90
        self.playerY = 450
예제 #8
0
def get_newgame():
    scene = Scene()
    model = GameModel()
    controller = GameController(model)
    # view
    hud = HUD()
    view = GameView(model, hud)

    # set controller in model
    model.set_controller(controller)

    # add controller
    scene.add(controller, z=1, name="controller")
    scene.add(hud, z=3, name="hud")
    scene.add(view, z=2, name="view")

    return scene
예제 #9
0
def get_newgame():
    scene = Scene()
    model = GameModel()
    controller = GameController(model)
    # 视图
    hud = HUD()
    view = GameView(model, hud)

    # 模型中的控制器
    model.set_controller(controller)

    # 添加控制器
    scene.add(controller, z=1, name="controller")
    scene.add(hud, z=3, name="hud")
    scene.add(view, z=2, name="view")

    return scene
예제 #10
0
    def __init__(self, proxy_map, startup_check=False):
        super(SpecificWorker, self).__init__(proxy_map)

        self.width = 1280
        self.height = 720

        pygame.init()
        pygame.font.init()

        self.display = pygame.display.set_mode(
            (self.width, self.height), pygame.HWSURFACE | pygame.DOUBLEBUF)

        self.camera_manager = CameraManager(self.width, self.height)
        self.gnss_sensor = GNSSSensor()
        self.imu_sensor = IMUSensor()
        self.hud = HUD(self.width, self.height, self.gnss_sensor,
                       self.imu_sensor)
        self.controller = None
        self.clock = pygame.time.Clock()

        data_to_save = {
            'control': [
                'Time', 'Throttle', 'Steer', 'Brake', 'Gear', 'Handbrake',
                'Reverse', 'Manualgear'
            ],
            'communication': ['Time', 'CommunicationTime']
        }
        self.logger = Logger(self.melexlogger_proxy, 'carlaRemoteControl',
                             data_to_save)
        self.logger_signal.connect(self.logger.publish_to_logger)

        self.Period = 0

        self.previousLat = None
        self.previousLong = None

        self.currentLat = None
        self.currentLong = None

        if startup_check:
            self.startup_check()
        else:
            self.timer.timeout.connect(self.compute)
            self.timer.start(self.Period)
예제 #11
0
def get_newgame(level = 1):
    status.score = 0
    status.level = level

    scene = Scene()
    model = GameModel(hud_offset=director.window.get_size()[0]-800) #MAGIC original width
    controller = GameController(model)
    # view
    hud = HUD()
    view = GameView(model, hud)

    # set controller in model
    model.set_controller(controller)

    # add controller
    scene.add(controller, z=1, name="controller")
    scene.add(hud, z=3, name="hud")
    scene.add(view, z=2, name="view")

    return scene
예제 #12
0
    def __init__(self, width, height):
        self.windowWidth = width
        self.windowHeight = height
        self.widthNumber = 0
        self.heightNumber = 0

        self.map = []  # Contains all the cells that make up the map
        self.path = [
        ]  # Ordered list of cells that make up the path for the enemies
        self.walls = []  # List containing all the cells that make up the walls
        self.enemies = []  # List of all enemies currently on the field
        self.level = 0  # Incrementing level variable, increases difficulty
        self.towers = []  # List of all towers currently on the map
        self.bullets = []  # List of all bullets

        self.start = 0
        self.end = 0
        self.startCell = None
        self.endCell = None

        self.hud = HUD(width, height)
예제 #13
0
    def __init__(self):
        """
        Main game class initialization. All other class references point to this class as "game"
        """
        # window setup
        pygame.display.set_caption('Necromonster')
        pygame.display.set_icon(
            pygame.image.load(os.path.join('rec', 'misc', 'icon.png')))
        self.main_path = os.getcwd()

        # initiate the clock and screen object
        self.clock = pygame.time.Clock()
        self.FPS = 50
        self.last_tick = pygame.time.get_ticks()
        self.screen_res = [900, 650]
        self.center_point = [470, 350]
        self.screen = pygame.display.set_mode(self.screen_res,
                                              pygame.HWSURFACE, 32)

        #DEBUG values
        self.DEBUG = 1
        self.RECT_DEBUG = 0
        self.angle = 0

        #Init and assign custom game class(es)
        self.EntityHandler = EntityHandler(self)
        self.ParticleManager = ParticleManager(self)
        self.Scheduler = Schedule(self)
        self.Entity = Entity
        self.Projectile = Projectile
        self.Monster = Monster
        self.NPC = NPC
        self.NPCText = NPCText
        self.Item = Item
        self.Inventory = Invent
        self.Invent = self.Inventory(self)
        self.Weapon = Weapon
        self.Garment = Garment
        self.Player = Player(self)
        self.HUD = HUD(self)

        # Init entity manager vars
        self.entities = []
        self.shadows = []

        # load fonts, create font list
        # do not use pygame.font.SysFont!
        self.text_list = []
        self.default_font = pygame.font.Font(
            os.path.join('rec', 'font', 'freesansbold.ttf'), 15)
        self.speak_font = pygame.font.Font(
            os.path.join('rec', 'font', 'freesansbold.ttf'), 30)

        # load the map that player is on
        self.INSIDE = 0
        self.blit_list = mapLoader.load('home', self)

        # spawn initial map items/entities
        self.Item(self, 'Mythril', [350, 400], world=1)
        self.NPC(self, "blacksmith", [400, 400], 100, 'still')
        for i in xrange(4):
            self.Monster(self, 'chicken', [200 + (i * 50), 650], 1, 'neutral')
        self.Monster(self, "goop", [100, 100], 1, 'aggressive')

        # begin main game loop
        while 1:
            self.Loop()
예제 #14
0
def core_game_loop(DISPLAYSURF, DISPLAYWIDTH, DISPLAYHEIGHT):

    ranlevel = randint(1, 2)
    if ranlevel == 1:
        lvl_type_choice = "t"
    if ranlevel == 2:
        lvl_type_choice = "f"

    if lvl_type_choice == "t":
        t_or_f_level = 1
        scroll_speed = 140
    if lvl_type_choice == "f":
        t_or_f_level = 2
        scroll_speed = 210

    tile_list = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    minion_list = []
    striker_list = []
    turret_list = []
    player_list = []

    minion_kill_list = []
    striker_kill_list = []
    turret_kill_list = []
    player_kill_list = []

    wait_control = 0
    calc_control = 1
    level_end_in = LEVEL_LENGTH_CONTROL * 60

    tile_make_in = 0
    minion_make_in = 0
    striker_make_in = 0
    turret_make_in = 0
    asteroid_make_in = 0

    minion_make_in_max = 5 * 60
    striker_make_in_max = 3 * 60
    turret_make_in_max = 4 * 60

    minions_killed = 0
    strikers_killed = 0
    turrets_killed = 0
    asteroids_killed = 0

    if lvl_type_choice == "t":
        tile_make_in_max = 60
        tile_list_clear_max = 600
        pcmaxhp = 150
        pccurhp = 150
    if lvl_type_choice == "f":
        tile_make_in_max = 43
        tile_list_clear_max = 430
        ## For some reason this is the number needed to make the tiles line up.
        pcmaxhp = 80
        pccurhp = 80
    tile_num = 11
    print(lvl_type_choice)

    start_tile1 = tileFactory(scroll_speed, t_or_f_level, 1, 0)
    start_tile2 = tileFactory(scroll_speed, t_or_f_level, 1, 140)
    start_tile3 = tileFactory(scroll_speed, t_or_f_level, 1, 280)
    start_tile4 = tileFactory(scroll_speed, t_or_f_level, 1, 420)
    start_tile5 = tileFactory(scroll_speed, t_or_f_level, 1, 560)
    start_tile6 = tileFactory(scroll_speed, t_or_f_level, 1, 700)
    start_tile7 = tileFactory(scroll_speed, t_or_f_level, 1, 840)
    start_tile8 = tileFactory(scroll_speed, t_or_f_level, 1, 980)
    start_tile9 = tileFactory(scroll_speed, t_or_f_level, 1, 1120)
    start_tile10 = tileFactory(scroll_speed, t_or_f_level, 1, 1260)

    past_row = 1
    prev_row = 1
    cur_row = 1
    if t_or_f_level == 1:
        temp_row = tile_gen_tank(past_row, prev_row, cur_row)
    if t_or_f_level == 2:
        temp_row = tile_gen_fight(past_row, prev_row, cur_row)
    cur_row = temp_row
    start_tile11 = tileFactory(scroll_speed, t_or_f_level, temp_row)

    tile_list[0] = start_tile1
    tile_list[1] = start_tile2
    tile_list[2] = start_tile3
    tile_list[3] = start_tile4
    tile_list[4] = start_tile5
    tile_list[5] = start_tile6
    tile_list[6] = start_tile7
    tile_list[7] = start_tile8
    tile_list[8] = start_tile9
    tile_list[9] = start_tile10
    tile_list[10] = start_tile11

    timer_font = pygame.font.Font("Fixedsys.ttf", 30)

    HUD_display = HUD(DISPLAYSURF, DISPLAYWIDTH, DISPLAYHEIGHT, timer_font,
                      pcmaxhp)
    great_asteroid = asteroidTestClass(
        (randint(8, 12) * 300, randint(70, 440)), DISPLAYHEIGHT)

    while True:
        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()

        if wait_control == 0 or wait_control == 1:
            wait_amount = 17
            wait_control += 1
        else:
            wait_amount = 16
            wait_control = 0

        if calc_control == 1 or calc_control == 2 or calc_control == 3:
            wait_amount = wait_amount - 4
        if calc_control == 4:
            wait_amount = wait_amount - 3
        if calc_control == 5:
            wait_amount = wait_amount - 3
            calc_control = 0

        pygame.time.wait(wait_amount)
        calc_control += 1

        if tile_make_in == tile_make_in_max:
            if level_end_in <= 600 and lvl_type_choice == "t":
                tile_list.append(0)
                tile_list[tile_num] = tileFactory(scroll_speed, t_or_f_level,
                                                  1)
                temp_list = []
                for index in range(len(tile_list) - 1):
                    temp_list.append(tile_list[index + 1])
                tile_list = temp_list
                tile_make_in = 0
            ## Tells the loop to generate tiles only on row 1 as the level will
            ## end in ten seconds.
            elif level_end_in > 600:
                if t_or_f_level == 1:
                    temp_row = tile_gen_tank(past_row, prev_row, cur_row)
                if t_or_f_level == 2:
                    temp_row = tile_gen_fight(past_row, prev_row, cur_row)
                past_row = prev_row
                prev_row = cur_row
                cur_row = temp_row
                tile_list.append(0)
                tile_list[tile_num] = tileFactory(scroll_speed, t_or_f_level,
                                                  temp_row)
                temp_list = []
                for index in range(len(tile_list) - 1):
                    temp_list.append(tile_list[index + 1])
                    ## Change "index + 1" into "len(tile_list) - 1" for a
                    ## hilarious bug.
                tile_list = temp_list
                tile_make_in = 0
                if turret_make_in >= turret_make_in_max and level_end_in > 600:
                    turret_gen(turret_list, turret_kill_list, temp_row,
                               t_or_f_level)
                    turret_make_in = 0
            elif level_end_in <= 600 and lvl_type_choice == "f":
                temp_list = []
                for index in range(len(tile_list) - 1):
                    temp_list.append(tile_list[index + 1])
            ## Tells the loop to stop generating tiles if it's a fighter level,
            ## since the level will end in ten seconds.

        if minion_make_in == minion_make_in_max and level_end_in > 600:
            minion_gen(minion_list, minion_kill_list, DISPLAYWIDTH,
                       DISPLAYHEIGHT)
            minion_make_in = 0
        if striker_make_in == striker_make_in_max and level_end_in > 600:
            striker_gen(striker_list, striker_kill_list, DISPLAYWIDTH,
                        DISPLAYHEIGHT)
            striker_make_in = 0

        ## Generate enemies here and supply classes with their indicies.

        tile_make_in += 1
        minion_make_in += 1
        striker_make_in += 1
        turret_make_in += 1
        level_end_in -= 1

        if len(minion_list) > 0:
            for x in range(len(minion_list)):
                minion_list[x].index_update(x)
                minion_list[x].pos_change()
        if len(striker_list) > 0:
            for x in range(len(striker_list)):
                striker_list[x].index_update(x)
                striker_list[x].pos_change()
        if len(turret_list) > 0:
            for x in range(len(turret_list)):
                turret_list[x].index_update(x)
                turret_list[x].pos_change()
        great_asteroid.pos_change()

        ## check for collision and enemy death here

        if len(minion_kill_list) > 0:
            for index in minion_kill_list:
                DISPLAYSURF.blit(minion_list[index].MINSURF,
                                 (DISPLAYWIDTH + 1, DISPLAYHEIGHT + 1))
                minion_list[index] = 0
            minion_kill_list = []

        if len(striker_kill_list) > 0:
            for index in striker_kill_list:
                DISPLAYSURF.blit(striker_list[index].STRISURF,
                                 (DISPLAYWIDTH + 1, DISPLAYHEIGHT + 1))
                striker_list[index] = 0
            striker_kill_list = []

        if len(turret_kill_list) > 0:
            for index in turret_kill_list:
                DISPLAYSURF.blit(turret_list[index].TURSURF,
                                 (DISPLAYWIDTH + 1, DISPLAYHEIGHT + 1))
                turret_list[index] = 0
            turret_kill_list = []

        ## Removes a sprite class from their sprite list at the index stored in
        ## their kill list (which should always be accurate at this point) and
        ## replaces it with a 0. (Does not directly remove them from the list
        ## as that would make the rest of the indicies in the kill list
        ## inaccurate due to list length being changed.)
        ##
        ## The DISPLAYSURF.blit is strictly for moving them offscreen first
        ## so they don't remain and interact with other entites. Will not work
        ## at this moment.

##        for minion in minion_list:
##            minion.update()
##        for striker in striker_list:
##            striker.update()
##        for turret in turret_list:
##            turret.update()

        if 0 in minion_list:
            temp_list = []
            for x in range(len(minion_list)):
                if not minion_list[x] == 0:
                    temp_list.append(minion_list[x])
            minion_list = temp_list
            for x in range(len(minion_list)):
                minion_list[x].index_update(x)

        if 0 in striker_list:
            temp_list = []
            for x in range(len(striker_list)):
                if not striker_list[x] == 0:
                    temp_list.append(striker_list[x])
            striker_list = temp_list
            for x in range(len(striker_list)):
                striker_list[x].index_update(x)

        if 0 in turret_list:
            temp_list = []
            for x in range(len(turret_list)):
                if not turret_list[x] == 0:
                    temp_list.append(turret_list[x])
            turret_list = temp_list
            for x in range(len(turret_list)):
                turret_list[x].index_update(x)

        for tile in tile_list:
            tile.pos_change()
        DISPLAYSURF.fill(BLACK)
        for tile in tile_list:
            DISPLAYSURF.blit(tile.TILESURF, tile.pos)
        for minion in minion_list:
            DISPLAYSURF.blit(minion.MINSURF, minion.pos)
        for striker in striker_list:
            DISPLAYSURF.blit(striker.STRISURF, striker.pos)
        for turret in turret_list:
            DISPLAYSURF.blit(turret.TURSURF, turret.pos)
        DISPLAYSURF.blit(great_asteroid.ASTSURF, great_asteroid.pos)
        HUD_display.timer_display(level_end_in)
        HUD_display.health_display(pccurhp)

        if level_end_in % 60 == 0:
            if pccurhp > 0:
                pccurhp -= 1

        if level_end_in == 0:
            level_end(DISPLAYSURF, DISPLAYWIDTH, DISPLAYHEIGHT, tile_list,
                      lvl_type_choice, minions_killed, strikers_killed,
                      turrets_killed, asteroids_killed)

        pygame.display.update()
예제 #15
0
    def run(self):
        """
        Runs the game.

        @return: Exit status. Signals what screen comes next.
        """
        self.music.fadeout(1000)
        self.music.load(self.music.game)
        self.music.play(-1)

        pygame.mouse.set_visible(False)
        self.background = pygame.Surface(self.screen.get_size())
        self.background.fill((0, 0, 0))
        self.screen.blit(self.background, (0, 0))

        # Game objects.
        cursor = Reticule(self.screen)
        player = Player(self.screen, self.DEBUG)
        playerSonar = PlayerSonar(self.screen, player)
        self.sonarList.add(playerSonar)
        gun = GunHandler(self.screen, player, self.sfx, self.DEBUG)
        hud = HUD(self.screen, player, self.clock, gun)
        playerHealth = PlayerHealth(self.screen, player)

        # Sprite Lists.
        self.playerList.add(player)
        self.hudList.add(playerHealth)
        self.hudList.add(cursor)
        self.hudList.add(hud)

        # Main game loop.
        while (player.health > 0):
            self.clock.tick(self.FPS)
            self.addEnemies(player)

            pygame.time.wait(5)

            for event in pygame.event.get():

                # Close the window.
                if event.type == pygame.QUIT:
                    pygame.quit()
                    sys.exit(0)

                # Keyboard input.
                elif event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_ESCAPE:
                        pygame.quit()
                        sys.exit(0)
                    elif event.key == pygame.K_1:
                        gun.setGun(gun.k_pistol)
                    elif event.key == pygame.K_2:
                        gun.setGun(gun.k_shotgun)
                    elif event.key == pygame.K_3:
                        gun.setGun(gun.k_smg)
                pygame.event.clear()

            # Mouse Button Press.
            self.handleMouse(player, gun)

            # Update Sprite Lists.
            self.handleCollisions(player)
            self.handleSonar(player)
            self.updateScreen()

        if not self.DEBUG:
            self.addScore(player.score)

        return 2
예제 #16
0
 def __init__(self, size):
     self.hud = HUD(size)