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
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()
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])
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
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]
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
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) ################################################################################
# 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']
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 )