Пример #1
0
    def start(self):
        """ 
        Sets up and starts the level.
        """
        self.collision = Collision(self, self.game.window.resolution, 32)
        self.prefabs = OrderedUpdates()
        self.pathfinding = Pathfinding(self.game, self.collision)

        for args in self.data:
            name = args[0]
            x = int(args[1])
            y = int(args[2])

            prefab = Prefab(name, x, y)
            self.prefabs.add(prefab)

            if hasattr(prefab, "block"):
                # Block textures are 1 pixel wider to make a full border
                self.collision.block_rect(x, y, prefab.rect.width - 1,
                                          prefab.rect.height - 1)

        self.pathfinding.precompute(30)
        self.wave = Wave(self.game, 1)
        self.lives = 20
        self.money = 600
        self.time = 0
Пример #2
0
def run_game():
    pygame.init()
    settings = game_settings.Settings()
    screen = pygame.display.set_mode(settings.resolution)
    snake = Snake(screen, settings)
    pygame.display.set_caption("Snake")
    my_tail = []
    x, y = gf.generate_randoms()
    food = GroupSingle(Food(snake, screen, x, y))
    tails = OrderedUpdates()
    gf.initialise_snake(snake, screen, my_tail, tails, settings)
    button = Play_button(screen, settings, "Play")
    end_game_screen = EndGameScreen(screen, settings, "Game Over")
    score = Score(screen, settings)
    clock = pygame.time.Clock()
    gametime = GTime(clock)

    while True:
        screen.fill(settings.bg_color)
        score.draw_me()
        gf.check_events(snake, food, screen, my_tail, tails, settings, button,
                        gf, end_game_screen, score, gametime)
        if settings.game_active == False:
            if gf.lose_condition_met(snake, settings, tails,
                                     gametime) == False:
                button.draw_me()
        if settings.game_active == True:
            snake.update()
            tails.update()
            snake.draw_me()
            food.update()
            clock.tick(10)
            gametime.update()
            print(gametime.time)
        pygame.display.flip()
Пример #3
0
    def __init__(self, screen):
        """ Initialization of our lists """
        self.wall_list = Group()
        self.coin_list = Group()
        self.plat_move = Group()
        self.door_list = OrderedUpdates()

        # the screen and its rect
        self.screen = screen
        self.screct = self.screen.get_rect()

        # the room's size and image
        self.rect = Rect(0, 0, self.width, self.height)
        self.bckimg = gf.get_checkboard(20, 20, self.width, self.height,
                                        [WHITE, GREY])
Пример #4
0
    def __init__(self, game):
        """
        Constructor.

        Args:
            game (Game): The game instance.

        """
        super().__init__("menu", 0, 0)

        self.game = game
        self.leaderboard = Leaderboard()
        self.components = OrderedUpdates()
        self.clear()
        self.show_main_screen()
        self.visible = True
        self.leaderboard_name = None
Пример #5
0
    def __init__(self, screen: pygame.Surface, json_map: str, tileset_dir: str,
                 resources_dir: str):
        self.n = 0
        self.resources_dir = resources_dir
        self.screen = screen
        self.tiled_map = tiledmap.TiledParser(json_map, tileset_dir)

        self.size_map = self.get_size_map()

        # если есть тайлсет
        if self.tiled_map.sets:
            self.image_sprites = self.tiled_map.get_subsprites(
                self.tiled_map.get_id_tiles())
        self.all_layers = game_groups.AllLayers()
        self.all_images = OrderedUpdates()
        self.bg_type = None
        self.name = os.path.splitext(os.path.basename(json_map))[0]
Пример #6
0
    def start(self):
        """ 设置并启动关卡 """
        self.collision = Collision(self, self.game.window.resolution, 32)
        self.prefabs = OrderedUpdates()
        self.pathfinding = Pathfinding(self.game, self.collision)

        for args in self.data:
            name = args[0]
            x = int(args[1])
            y = int(args[2])

            prefab = Prefab(name, x, y)
            self.prefabs.add(prefab)

            if hasattr(prefab, "block"):
                # 块纹理1个像素宽,以生成完整边框
                self.collision.block_rect(x, y, prefab.rect.width - 1,
                                          prefab.rect.height - 1)

        self.pathfinding.precompute(30)
        self.wave = Wave(self.game, 1)
        self.lives = 10
        self.money = 600
        self.time = 0
Пример #7
0
from pygame.constants import *
from pygame.sprite import Group, OrderedUpdates

from core import config
from core import settings
from core import color
from game import bg
from game.menustate import MenuState
from game.hudobject import make_text, HudObject
from game import enemy
from game import player
from game import ufo
from game import block

### Groups #####################################################################
GRID_BG = OrderedUpdates()
TEXT = Group()
SPRITES = Group()
################################################################################

### Constants ##################################################################
'''
@var DIST_APART: Vertical distance between text lines in pixels
@var TOP_LEFT: Coordinates of the top-left of the text, in pixels
'''
ALIEN_DIST = 12 + enemy.ENEMY_FRAMES[id(color.RED)][0].get_width()
ALIEN_Y = 24
BLOCK_Y = 72
DIST_APART = 24
TOP_LEFT = (16, 32)
################################################################################
Пример #8
0
# encoding: utf-8
#
# this module holds the 'state variables',
# the module is checked on save, so that
# any var named in the saveIncludes list is saved from the module.__dict__

from pygame.sprite import OrderedUpdates
from test.world.circle import circle

circles = OrderedUpdates()
lastPlayState = 'add-remove'
mb1Down = False
mb3Down = False

saveIncludes = ['circles', 'lastPlayState']
Пример #9
0
from game.combocounter import ComboCounter
from game.enemy       import Enemy
from game             import enemybullet
from game.enemybullet import EnemyBullet
from game             import enemysquadron
from game             import gamedata
from game.highscore   import HighScoreState
from game.hudobject   import HudObject, make_text
from game.player      import Ship, FlameTrail, LightColumn
from game.shipbullet  import ShipBullet
from game.ufo         import UFO

#if config.DEBUG: import core.vartracker

### Groups #####################################################################
BG            = OrderedUpdates()
BLOCKS        = Group()
ENEMIES       = Group()
ENEMY_BULLETS = Group()
HUD           = Group()
PARTICLES     = Group()
PLAYER        = Group()
UFO_GROUP     = Group()
################################################################################

### Constants ##################################################################
rect = config.SCREEN_RECT
ALARM          = config.load_sound('alarm.wav')
DEBUG_KEYS     = (K_u, K_c, K_f, K_F1, K_e, K_k, K_i)
FADE_TIME      = 2500  #In milliseconds
FIRE_LOCATION  = (rect.centerx - 192, rect.centery     )