コード例 #1
0
 def __init__(self,pos,vel,baseimage,image,fadedBase,death):
     self.trident = False
     self.pos = pos
     self.vel = vel
     self.detectedRadius = 500
     self.followRadius = 800
     self.speed = 60
     self.direction = Vector()
     self.ability = Cannon()
     self.incrementalTimer = 0
     self.incrementalTimer2 = 0
     self.incrementalTimer3 = 0
     self.incrementalTimer4 = 0
     self.inBoundary = False
     self.positions = []
     self.enemies = []
     self.health = 1000
     self.radius = 100
     self.spawn = False
     self.boss = LynelSprite(self.pos, baseimage, 175, 300, 3, 6, [0, 2],image, 608, 130, 8, 2, [1, 1], fadedBase, 175, 300, 3, 6, [0, 2],death, 270, 50, 6, 1, [0, 0],0)
     self.start(self.pos, baseimage, 175, 300, 3, 6, [0.2],
                image, 608, 130, 8  , 2, [1,1], fadedBase, 175, 300, 3, 6, [0, 2],death, 270, 50, 6, 1, [0, 0],0)
     self.moving = False
     self.generator = Vector(0,-200)
     self.draw = False
     self.fireOrb = simplegui._load_local_image('Resources/images/fireOrb.png')
     self.fire = simplegui._load_local_image('Resources/images/fireBall.png')
     self.fireEnabled = False
     self.death = False
     self.damageResistence = 3
コード例 #2
0
 def __init__(self, x_pos, y_pos, lives, kbd):
     self.inven = Inventory(3, 100, 2 * x_pos, 2 * y_pos)
     # self.kbd = Keyboard()
     self.kbd = kbd
     self.player_move = PlayerMove(self, self.kbd)
     self.change_slot = ChangeSlot(self.inven, self.kbd)
     self.quit = Quit(self, self.kbd)
     self.x = x_pos
     self.y = y_pos
     self.pos = (x_pos, y_pos)
     self.max_health = 100
     self.health = self.max_health
     self.lives = lives
     self.dead = False
     self.game_over = False
     self.is_moving = False
     self.mouse_pos = pygame.mouse.get_pos()
     x = os.path.join(
         os.path.dirname(__file__),
         "../../textures/sprite_sheets/player/playersprite.png")
     y = os.path.join(os.path.dirname(__file__),
                      "../../textures/sprite_sheets/player/heart.png")
     self.img = simplegui._load_local_image(x)
     self.hpimg = simplegui._load_local_image(y)
     self.height = 180
     self.width = 411
     self.frame_width = self.width / 3
     self.frame_centre = self.frame_width / 2
     self.frame_index = 0
     self.frame_up = True
     self.clock = 0
     self.rot = 0
     self.speed = 5  # amount of frames per sprite update
     self.score = 0
コード例 #3
0
ファイル: Shotgun.py プロジェクト: DanielJShen/Action-Game
 def __init__(self):
     self.sprite = object
     self.radius = 4
     self.time = 0.9
     self.bounce = False
     self.resetDamage = 8
     self.baseDamage = 8
     self.speed = 15
     self.image = simplegui._load_local_image("Resources/images/Shotgun.png")
     self.imageProj = simplegui._load_local_image("Resources/images/CannonFire.png")
コード例 #4
0
ファイル: Cannon.py プロジェクト: DanielJShen/Action-Game
 def __init__(self):
     self.sprite = object
     self.radius = 10
     self.projectileImage = simplegui._load_local_image(
         "Resources/images/fireBall.png")
     self.time = 1.5
     self.bounce = True
     self.resetDamage = 20
     self.baseDamage = 20
     self.speed = 30
     self.image = simplegui._load_local_image("Resources/images/Cannon.png")
     self.scale = 2
コード例 #5
0
 def __init__(self, x_pos, y_pos, lives, inventory):
     self.inven = inventory
     self.x = x_pos
     self.y = y_pos
     self.pos = (x_pos, y_pos)
     self.max_health = 100
     self.health = self.max_health
     self.lives = lives
     self.dead = False
     self.game_over = False
     self.is_moving = False
     self.mouse_pos = pygame.mouse.get_pos()
     x = os.path.join(
         os.path.dirname(__file__),
         "../../textures/sprite_sheets/player/playersprite.png")
     self.img = simplegui._load_local_image(x)
     # self.img = pygame.image.load(x).convert_alpha()
     self.height = 180
     self.width = 411
     self.frame_width = self.width / 3
     self.frame_centre = self.frame_width / 2
     self.frame_index = 0
     self.frame_up = True
     self.clock = 0
     self.rot = 0
     self.speed = 5  # amount of frames per sprite update
コード例 #6
0
 def __init__(self):
     self.sprite = object
     self.radius = 10
     self.colour = "#7a14ff"
     self.time = 0.5
     self.bounce = True
     self.resetDamage = 1.5
     self.baseDamage = 1.5
     self.speed = 0
     self.image = simplegui._load_local_image("Resources/images/Laser.png")
コード例 #7
0
 def __init__(self, slots, size, canvas_width, canvas_height):
     self.torch = Torch()
     x = os.path.join(os.path.dirname(__file__),
                      "../../textures/sprite_sheets/player/torch.png")
     self.torch_img = simplegui._load_local_image(x)
     y = os.path.join(os.path.dirname(__file__),
                      "../../textures/sprite_sheets/player/torch_lock.png")
     self.torch_lock_img = simplegui._load_local_image(y)
     self.screen_width = canvas_width
     self.screen_height = canvas_height
     self.slots = slots
     self.size = size
     self.bars = math.floor(self.slots / 2)
     self.score = 0
     self.slot_1_selected = True
     self.slot_2_selected = False
     self.slot_3_selected = False
     self.slot_4_selected = False
     self.slot_5_selected = False
     self.slot_6_selected = False
     self.slot_7_selected = False
     self.slot_8_selected = False
     self.slot_9_selected = False
     self.highlighted = 1
コード例 #8
0
    def start(self, frame: simplegui.Frame, width, height):
        self.sprites = []
        self.walls = []
        self.enemies = []
        self.pickups = []
        self.hearts = []
        self.defeated = False
        self.trap = True

        self.zoom = 3
        self.mapSize = Vector(4800, 2700)
        self.startPos = Vector(400, 1150)

        #Load Images
        image_background = simplegui._load_local_image(
            'Resources/images/mahadmap.png')
        Ganon = simplegui._load_local_image("Resources/images/GanonStand.png")
        GanonTrans = simplegui._load_local_image(
            "Resources/images/GanonTrident.png")
        fadedGanon = simplegui._load_local_image(
            "Resources/images/GanonStandFaded.png")
        death = simplegui._load_local_image("Resources/images/death.png")
        image_teleporter = simplegui._load_local_image(
            'Resources/images/blue_power_up.png')

        #Background
        frame.set_canvas_background("#cf1020")
        self.sprites.append(
            Sprite(self.mapSize / 2, image_background, self.mapSize.getP()))

        #Teleporter

        if self.defeated:
            self.teleporter = Sprite(
                Vector(width * self.zoom / 2, height * self.zoom / 2) +
                Vector(1500, 0), image_teleporter, [150, 150])
            self.sprites.append(self.teleporter)

        #Enemies
        self.Boss = LynelBoss(Vector(3325, 1250), Vector(0, 0), Ganon,
                              GanonTrans, fadedGanon, death)
        # Walls
        wallWidth = 50
        self.lineHalfWidth = 8
        self.wallPoints1 = [(267, 939), (540, 941), (540, 1050), (2245, 1050),
                            (2246, 219), (4349, 219),
                            (4349, 2233), (2245, 2233), (2245, 1244),
                            (540, 1228), (540, 1378), (268, 1378), (267, 939)]
        self.wallPoints2 = []
        self.wallPoints = [self.wallPoints1, self.wallPoints2]

        for wallPoint in self.wallPoints:
            for i in range(wallPoint.__len__() - 1):
                pos1 = Vector(wallPoint[i][0], wallPoint[i][1])
                pos2 = Vector(wallPoint[i + 1][0], wallPoint[i + 1][1])
                self.walls.append(Wall(self.lineHalfWidth, pos1, pos2))
コード例 #9
0
    def __init__(self, pos: Vector, color, type, img, FrameIndex, rotation=0):
        self.defineVariables(pos, color, type, img, 600)

        #Specific to this enemy
        self.speed = 0
        self.health = 100
        self.ability = Shotgun()
        self.enemyIMG = Enemy2IMG(self.pos, img, 77, 50, 3, 2, FrameIndex, 50,
                                  50, 0)
        self.stopDistance = 200
        self.lineLeftGen.rotate(rotation)
        self.normalLine.rotate(rotation)
        self.lineRightGen.rotate(rotation)
        self.updateLOS()
        self.entity = "Cannon"
        self.image_cannon = simplegui._load_local_image(
            'Resources/images/CannonFire.png')
コード例 #10
0
ファイル: maha.py プロジェクト: DanielJShen/Action-Game
    def start(self, frame, width, height):
        self.sprites = []
        self.walls = []
        self.enemies = []
        self.pickups = []
        self.hearts = []
        self.zoom = 3
        self.mapSize = Vector(width * self.zoom, height * self.zoom)
        self.startPos = Vector(300, 450)

        #Load Images
        image_background = simplegui._load_local_image(
            'Resources/images/mahadmap.png')
        image_wall = simplegui._load_local_image('Resources/images/Blank.png')
        image_Bat = simplegui._load_local_image('Resources/images/bat.png')
        image_FireEnemy = simplegui._load_local_image(
            'Resources/images/FireEnemy.png')
        image_laser = simplegui._load_local_image("Resources/images/Laser.png")
        image_teleporter = simplegui._load_local_image(
            'Resources/images/blue_power_up.png')

        #Background
        frame.set_canvas_background("#0170FE")
        self.sprites.append(
            Sprite(self.mapSize / 2, image_background, self.mapSize.getP()))

        #Teleporter
        self.teleporter = Sprite(
            Vector(width * 3, height * 3) - Vector(300, 300), image_teleporter,
            [150, 150])
        self.sprites.append(self.teleporter)

        #Pickups
        self.pickups.append(
            Pickup(Vector(300, 300), image_laser, 1, 1, "Ability", "Laser"))

        #Enemies

        #Walls
        wallWidth = 50
        lineHalfWidth = 8
        wallPoints1 = [(182, 309), (87, 309), (87, 460), (182, 460),
                       (182, 410), (746, 410)]
        wallPoints2 = [(746, 744), (1451, 744), (1451, 71), (746, 71),
                       (746, 358), (182, 358)]
        wallPoints = [wallPoints1, wallPoints2]
        for wallPoint in wallPoints:
            for i in range(wallPoint.__len__() - 1):
                pos1 = Vector(wallPoint[i][0], wallPoint[i][1])
                pos2 = Vector(wallPoint[i + 1][0], wallPoint[i + 1][1])
                self.walls.append(Wall(lineHalfWidth, pos1, pos2))
コード例 #11
0
ファイル: util.py プロジェクト: spooky-squad/super-potato
def load_image(path: str) -> simplegui.Image:
    """
    Loads an image from the path.
    """
    if path.startswith('http'):
        return simplegui.load_image(path)
    else:
        import os

        if not path.startswith('/'):
            import inspect

            path_dir = os.path.dirname(os.path.abspath(inspect.stack()[0][1]))
            path = os.path.join(path_dir, path)

        if os.path.isfile(path):
            # noinspection PyProtectedMember
            return simplegui._load_local_image(path)
        else:
            raise ValueError('No file exists at path {0}'.format(path))
コード例 #12
0
 def __init__(self, position, settings_args):
     Enemy.__init__(self, position, True, False, 0.1, 10, 30, 0)
     self.img = simplegui._load_local_image(
         os.path.join(
             os.path.dirname(__file__), "../../textures/sprite_sheets"
             "/enemies"
             "/ghosts.png"))
     self.zombie = SpriteSheet(self.img, 12, 8, 100, 100)
     self.frameWidth = (self.img.get_width() / 12)
     self.frameHeight = (self.img.get_height() / 8)
     self.frameCentreX = self.frameWidth / 2
     self.frameCentreY = self.frameHeight / 2
     self.settings = settings_args
     self.target = Vector(
         self.settings.get('width') / 2,
         self.settings.get('height') / 2)
     self.aim = self.target.copy()
     self.pos = position
     self.row = None
     self.moving = 'up'
     self.column = 0
     self.path = None
コード例 #13
0
ファイル: Main.py プロジェクト: DanielJShen/Action-Game
    def __init__(self,resolution,drawWalls1):
        global frame,pygame,simplegui,drawWalls,fps,pickups

        drawWalls = drawWalls1

        CANVAS_HEIGHT=resolution[1] #900
        CANVAS_WIDTH=resolution[0] #1600
        offset = Vector(0,0)
        mousePos = (0,0)

        #Defining Objects
        character_image = simplegui._load_local_image('Resources/images/player.png')
        self.image_speed = simplegui._load_local_image("Resources/images/speed.png")
        self.image_damage = simplegui._load_local_image("Resources/images/damage.png")
        self.image_stamina = simplegui._load_local_image("Resources/images/stamina.png")
        image_Bat = simplegui._load_local_image('Resources/images/hellBat.png')

        if not globals().__contains__("frame"):
            frame = simplegui.create_frame("Zelda Game", CANVAS_WIDTH, CANVAS_HEIGHT,0)

        keyboard = Keyboard()
        currentMap = 0
        map = [Tutorial(),ManMap(),LynelMap()]
        map[currentMap].start(frame,CANVAS_WIDTH,CANVAS_HEIGHT)
        
        spritesheet = Spritesheet(character_image, 10, 8, 1/10)
        spritesheet.addAnimation([0, 0], [2, 0])
        spritesheet.addAnimation([0, 1], [2, 1])
        spritesheet.addAnimation([0, 2], [0, 2])
        spritesheet.addAnimation([0, 3], [2, 3])
        spritesheet.addAnimation([0, 4], [7, 4])
        spritesheet.addAnimation([0, 5], [7, 5])
        spritesheet.addAnimation([0, 6], [7, 6])
        spritesheet.addAnimation([0, 7], [7, 7])

        global noHearts

        # health = Health(healthOB, noHearts)

        character = Character(Vector(0,0),map[currentMap].startPos,spritesheet,0,(64,64))
        character.healthInit(HealthIMG,heart1)
        character.healthStart(character.healthOB,3)
        offset = -map[currentMap].startPos + (Vector(CANVAS_WIDTH, CANVAS_HEIGHT) / 2)
        interactions = Interactions()
        inventory = Inventory(CANVAS_WIDTH, CANVAS_HEIGHT,character)
        projectiles = []
        lasers = []
        teleporter = map[currentMap].teleporter
        walls = map[currentMap].walls
        enemies = map[currentMap].enemies
        pickups = map[currentMap].pickups
        hearts = map[currentMap].hearts
        boss = None

        trident = simplegui._load_local_image('Resources/images/Trident.png')
        incrementalTimer = 0
        batTimer = 0
        cooldownAbility = 0
        detect = False

        fps = SimpleGUICS2Pygame.simplegui_lib_fps.FPS(x=CANVAS_WIDTH-50, y=10, font_color='Red', font_size=40)
        fps.start()

        # Assign callbacks to event handlers
        frame.set_mouseclick_handler(self.click)
        frame.set_keydown_handler(self.keyDown)
        frame.set_keyup_handler(self.keyUp)
        frame.set_draw_handler(self.draw)
        timer = simplegui.create_timer(300, self.attack)

        globals().update(locals())

        timer.start()
        # Start the frame animation
        frame.start()
コード例 #14
0
ファイル: Main.py プロジェクト: DanielJShen/Action-Game
from Classes.MainCharacter import Character
from Classes.MainCharacter import Keyboard
from Classes.Maps.Mand import ManMap
from Classes.Maps.Tutorial import Tutorial
from Classes.View import View
from Classes.Spritesheet import Spritesheet
from Classes.Inventory import Inventory
from Classes.healthIMG import HealthIMG
from Classes.Abilities.Cannon import Cannon
from Classes.Abilities.Laser import Laser
from Classes.Abilities.Shotgun import Shotgun
from Classes.Enemy.flameBat import flameBat
from Classes.Maps.LynelBoss import LynelMap

import pygame
heart1 = simplegui._load_local_image('Resources/images/Health.png')
class game():

    def __init__(self,resolution,drawWalls1):
        global frame,pygame,simplegui,drawWalls,fps,pickups

        drawWalls = drawWalls1

        CANVAS_HEIGHT=resolution[1] #900
        CANVAS_WIDTH=resolution[0] #1600
        offset = Vector(0,0)
        mousePos = (0,0)

        #Defining Objects
        character_image = simplegui._load_local_image('Resources/images/player.png')
        self.image_speed = simplegui._load_local_image("Resources/images/speed.png")
コード例 #15
0
ファイル: menu.py プロジェクト: AdamPlaskitt/CS1830-LightsOut
    def draw(self, canvas):
        self.pos = pygame.mouse.get_pos()
        self.startButton = Button(canvas, self.startPos, "Start", 'White',
                                  'Black', self.settings)
        self.helpButton = Button(canvas, self.helpPos, "Help", 'White',
                                 'Black', self.settings)
        self.leaderButton = Button(canvas, self.exitPos, "LeaderBoard",
                                   'White', 'Black', self.settings)
        if self.startButton.point1[1] < self.pos[
                1] < self.startButton.point4[1] * 1.1:
            self.startButton.colourBack = 'White'
            self.helpButton.colourBack = 'Black'
            self.leaderButton.colourBack = 'Black'
            self.startButton.colourTxt = 'Black'
            self.helpButton.colourTxt = 'White'
            self.leaderButton.colourTxt = 'White'
        elif self.helpButton.point1[1] < self.pos[
                1] < self.helpButton.point4[1] * 1.1:
            self.startButton.colourBack = 'Black'
            self.helpButton.colourBack = 'White'
            self.leaderButton.colourBack = 'Black'
            self.startButton.colourTxt = 'White'
            self.helpButton.colourTxt = 'Black'
            self.leaderButton.colourTxt = 'White'
        elif self.leaderButton.point1[1] < self.pos[
                1] < self.leaderButton.point4[1] * 1.1:
            self.startButton.colourBack = 'Black'
            self.helpButton.colourBack = 'Black'
            self.leaderButton.colourBack = 'White'
            self.startButton.colourTxt = 'White'
            self.helpButton.colourTxt = 'White'
            self.leaderButton.colourTxt = 'Black'
        else:
            self.startButton.colourBack = 'Black'
            self.helpButton.colourBack = 'Black'
            self.leaderButton.colourBack = 'Black'
            self.startButton.colourTxt = 'White'
            self.helpButton.colourTxt = 'White'
            self.leaderButton.colourTxt = 'White'

        if self.isMenu:
            #canvas.draw_text("LightsOut", (self.settings.get('width') / 7, self.settings.get('height') / 4), self.settings.get('width')
            #                / 7.5, "White", self.font)
            img = simplegui._load_local_image(
                os.path.join(os.path.dirname(__file__), "../logo.png"))
            canvas.draw_image(img, (img.get_width() / 2, img.get_height() / 2),
                              (img.get_width(), img.get_height()),
                              (self.settings.get('width') / 2, 100),
                              (800, 400))
            self.startButton.draw()
            self.helpButton.draw()
            self.leaderButton.draw()
            canvas.draw_polygon(self.backPos, 4, "Red")
            canvas.draw_line(self.backPos[0], self.backPos[2], 2, 'Red')
            canvas.draw_line(self.backPos[1], self.backPos[3], 2, 'Red')

        if self.isStart:
            canvas.draw_polygon(self.backPos, 4, "White")
            canvas.draw_polygon(self.arrowPos, 4, "White")
            canvas.draw_polygon(self.arrowShaftPos, 4, "White")
            self.player.draw(canvas)

        if self.isHelp:
            canvas.draw_text("Press arrow keys to move the player", [15, 150],
                             30, 'White', 'monospace')
            canvas.draw_text("Move mouse to move the torch", [15, 225], 30,
                             'White', 'monospace')
            canvas.draw_text(
                "Use 1, 2 and 3 to cycle through the inventory slots",
                [15, 300], 30, 'White', 'monospace')
            canvas.draw_text("Your score will increase the longer you survive",
                             [15, 375], 30, 'White', 'monospace')
            canvas.draw_text(
                "You can submit your score via the online leaderboard",
                [15, 450], 30, 'White', 'monospace')
            canvas.draw_text(
                "And most importantly don't let the monsters catch you!",
                [15, 525], 30, 'White', 'monospace')
            canvas.draw_text("How to Play", [350, 75], 80, 'monospace')
            canvas.draw_polygon(self.backPos, 4, "White")
            canvas.draw_polygon(self.arrowPos, 4, "White")
            canvas.draw_polygon(self.arrowShaftPos, 4, "White")

        if self.isLeader:
            self.next = 'leaderboard'
            self.done = True

        if self.isExit:
            exit()
コード例 #16
0
FRAME.add_label('')
FRAME.add_label(PYTHON_VERSION)
FRAME.add_label(GUI_VERSION)
FRAME.add_label(PYGAME_VERSION)
FRAME.add_label('')
BUTTON_FPS = FRAME.add_button('FPS on', fps_on_off)
FRAME.add_label('')
FRAME.add_button('Quit', FRAME.stop)

LOADER = Loader(FRAME, WIDTH, init)
LOADER.add_image(
    'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/double_ship.png',  # noqa
    'double_ship')
if not SIMPLEGUICS2PYGAME:
    LOADER.add_image(
        'https://simpleguics2pygame.readthedocs.io/en/latest/_images/SimpleGUICS2Pygame_64x64_t.png',  # noqa
        'logo')
LOADER.load()

LOADER.wait_loaded()

if SIMPLEGUICS2PYGAME:
    from os.path import dirname, join

    LOGO = simplegui._load_local_image(  # pylint: disable=protected-access,no-member  # noqa
        join(dirname(argv[0]), '../_img/SimpleGUICS2Pygame_64x64_t.png'))

FRAME.start()
if SIMPLEGUICS2PYGAME and FRAME._print_stats_cache:  # pylint: disable=protected-access  # noqa
    LOADER.print_stats_cache()
コード例 #17
0
ファイル: Mand.py プロジェクト: DanielJShen/Action-Game
    def start(self, frame, width, height):
        self.sprites = []
        self.walls = []
        self.enemies = []
        self.pickups = []
        self.hearts = []
        self.zoom = 3
        self.mapSize = Vector(4800, 2700)
        self.startPos = Vector(300, 450)

        #Load Images
        image_background = simplegui._load_local_image(
            'Resources/images/cal.png')
        image_Bat = simplegui._load_local_image('Resources/images/bat.png')
        image_FireEnemy = simplegui._load_local_image(
            'Resources/images/FireEnemy.png')
        image_laser = simplegui._load_local_image("Resources/images/Laser.png")
        image_teleporter = simplegui._load_local_image(
            'Resources/images/blue_power_up.png')
        image_CannonMob = simplegui._load_local_image(
            'Resources/images/CannonMob.png')
        image_speed = simplegui._load_local_image("Resources/images/speed.png")
        image_damage = simplegui._load_local_image(
            "Resources/images/damage.png")
        image_stamina = simplegui._load_local_image(
            "Resources/images/stamina.png")
        image_shotgun = simplegui._load_local_image(
            "Resources/images/Shotgun.png")
        hearts = simplegui._load_local_image(
            "Resources/images/heartsprite.png")
        heartcontainers = simplegui._load_local_image(
            "Resources/images/heartcontainerSprite.png")

        #Background
        frame.set_canvas_background("#0170FE")
        self.sprites.append(
            Sprite(self.mapSize / 2, image_background, self.mapSize.getP()))

        #Teleporter
        self.teleporter = Sprite(Vector(274, 2100), image_teleporter,
                                 [150, 150])
        self.sprites.append(self.teleporter)

        #Pickups
        #Side Area
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(-50, 500), image_laser,
                1, 1, "Ability", "Laser"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1450, -300),
                image_speed, 1, 1, "powerup", "speed"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1450, -150),
                image_damage, 1, 1, "powerup", "damage"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1450, 0), image_speed,
                1, 1, "powerup", "speed"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(2800, -300),
                image_damage, 1, 1, "powerup", "damage"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(2800, -150),
                image_speed, 1, 1, "powerup", "speed"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(2800, 0), image_damage,
                1, 1, "powerup", "damage"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(2800, 150), hearts, 4,
                1, "powerup", "heart", True))

        #Pathway
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(-460, 1300),
                image_shotgun, 1, 1, "Ability", "Shotgun"))

        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(115, -250),
                image_stamina, 1, 1, "powerup", "stamina"))

        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(900, -155),
                image_stamina, 1, 1, "powerup", "stamina"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(950, -155),
                image_stamina, 1, 1, "powerup", "stamina"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1000, -155),
                image_stamina, 1, 1, "powerup", "stamina"))

        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(2100, -50),
                image_stamina, 1, 1, "powerup", "stamina"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(2100, -200),
                image_stamina, 1, 1, "powerup", "stamina"))

        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1900, 450),
                image_stamina, 1, 1, "powerup", "stamina"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1700, 450),
                image_stamina, 1, 1, "powerup", "stamina"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1400, 450),
                image_stamina, 1, 1, "powerup", "stamina"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1200, 450),
                image_stamina, 1, 1, "powerup", "stamina"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1000, 450),
                image_stamina, 1, 1, "powerup", "stamina"))

        #Pathway2
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1100, 1150),
                image_speed, 1, 1, "powerup", "speed"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1150, 1150),
                image_damage, 1, 1, "powerup", "damage"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1200, 1150), hearts, 4,
                1, "powerup", "heart", True))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1250, 1150),
                image_speed, 1, 1, "powerup", "speed"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1300, 1150),
                image_damage, 1, 1, "powerup", "damage"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(1350, 1150), hearts, 4,
                1, "powerup", "heart", True))

        #Enemies
        #Beginning
        self.enemies.append(
            FireEnemy(Vector(640, 110), "Red", "Sniper", image_FireEnemy,
                      [0, 1], 230))
        self.enemies.append(
            CannonMob(
                Vector(width / 2, height / 2) + Vector(400, 10), "Blue",
                "Sniper", image_CannonMob, [0, 0], 0))
        #Side Area
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(1600, -300), "Red",
                "Sniper", image_FireEnemy, [0, 1], 95))
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(1600, -150), "Red",
                "Sniper", image_FireEnemy, [0, 1], 100))
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(1600, 0), "Red",
                "Sniper", image_FireEnemy, [0, 2], 60))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(2600, -300), "Blue",
                "Melee", image_Bat, [0, 3], 250))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(2600, -150), "Blue",
                "Melee", image_Bat, [0, 3], 280))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(2600, 0), "Blue",
                "Melee", image_Bat, [0, 1], 275))
        #Guarding Laser
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(100, 375), "Blue",
                "Melee", image_Bat, [0, 3], 100))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(100, 475), "Blue",
                "Melee", image_Bat, [0, 3], 80))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(100, 575), "Blue",
                "Melee", image_Bat, [0, 1], 90))
        #Pathwaysprites
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(-50, 750), "Red",
                "Sniper", image_FireEnemy, [0, 2], 120))
        self.enemies.append(
            Bat(Vector(4040, 1080), "Blue", "Melee", image_Bat, [0, 3], 160))
        self.enemies.append(
            Bat(Vector(3900, 1420), "Blue", "Melee", image_Bat, [0, 1], 260))
        #Pathway2
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(-200, 1150), "Red",
                "Sniper", image_FireEnemy, [0, 1], 270))
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(100, 1150), "Red",
                "Sniper", image_FireEnemy, [0, 2], 250))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(1000, 1150), "Blue",
                "Melee", image_Bat, [0, 3], 120))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(1500, 1150), "Blue",
                "Melee", image_Bat, [0, 1], 200))
        self.enemies.append(
            FireEnemy(Vector(2620, 1810), "Red", "Sniper", image_FireEnemy,
                      [0, 1], 270))

        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(1800, 1650), "Red",
                "Sniper", image_FireEnemy, [0, 1], 180))
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(2000, 1650), "Red",
                "Sniper", image_FireEnemy, [0, 1], 180))
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(2200, 1650), "Red",
                "Sniper", image_FireEnemy, [0, 1], 180))
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(2400, 1650), "Red",
                "Sniper", image_FireEnemy, [0, 1], 180))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(1550, 2050), "Blue",
                "Melee", image_Bat, [0, 3], 0))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(1650, 2050), "Blue",
                "Melee", image_Bat, [0, 1], 0))

        #Walls
        wallWidth = 50
        lineHalfWidth = 8
        wallPoints1 = [(90, 70), (4740, 70), (4740, 2630), (90, 2630),
                       (90, 70)]
        wallPoints2 = [(90, 670), (570, 670), (570, 290), (650, 290),
                       (650, 320), (1130, 320), (1130, 725), (4170, 725)]
        wallPoints3 = [(1638, 154), (1638, 379), (1855, 379), (1855, 154),
                       (1638, 154)]
        wallPoints4 = [(2169, 72), (2169, 537), (2809, 537)]
        wallPoints5 = [(3039, 518), (3770, 518), (3770, 71)]
        wallPoints6 = [(3770, 501), (4587, 501), (4587, 1328), (395, 1328),
                       (395, 1474), (4160, 1474), (4160, 1705), (3001, 1712)]
        wallPoints7 = [(4086, 834), (4086, 1080), (2992, 1080), (2992, 834),
                       (4086, 834)]
        wallPoints8 = [(2913, 737), (2913, 1100), (1783, 1100)]
        wallPoints9 = [(1485, 1095), (636, 1095), (636, 752), (1116, 752)]
        wallPoints10 = [(634, 1095), (296, 1095), (296, 949), (92, 949)]
        wallPoints11 = [(1638, 1694), (2737, 1694)]
        wallPoints12 = [(89, 1937), (4091, 1937)]
        wallPoints13 = [(4159, 1706), (4313, 1706), (4313, 2510), (85, 2510)]
        wallPoints14 = [(983, 2329), (2080, 2329)]
        wallPoints15 = [(2558, 2329), (4068, 2329)]
        wallPoints16 = [(1983, 310), (2115, 310), (2115, 427), (1983, 427),
                        (1983, 310)]
        wallPoints17 = [(1517, 310), (1377, 310), (1377, 430), (1517, 430),
                        (1517, 310)]

        wallPoints = [
            wallPoints1, wallPoints2, wallPoints3, wallPoints4, wallPoints5,
            wallPoints6, wallPoints7, wallPoints8, wallPoints9, wallPoints10,
            wallPoints11, wallPoints12, wallPoints13, wallPoints14,
            wallPoints15, wallPoints16, wallPoints17
        ]
        for wallPoint in wallPoints:
            for i in range(wallPoint.__len__() - 1):
                pos1 = Vector(wallPoint[i][0], wallPoint[i][1])
                pos2 = Vector(wallPoint[i + 1][0], wallPoint[i + 1][1])
                self.walls.append(Wall(lineHalfWidth, pos1, pos2))
コード例 #18
0
def main():  # pylint: disable=too-many-statements
    # type: () -> None
    """Main function."""
    if codeskulptor_lib.codeskulptor_is():

        def open_new_tab(url):  # type: (str) -> None
            """
            Print ``url``.

            Fake replacement of ``webbrowser.open_new_tab()`` function.
            """
            print(url)

        _VERSION = ''  # pylint: disable=invalid-name
        _WEBSITE = 'https://bitbucket.org/OPiMedia/simpleguics2pygame/'  # pylint: disable=invalid-name  # noqa
        _WEBSITE_DOC = 'https://simpleguics2pygame.readthedocs.io/'  # pylint: disable=invalid-name  # noqa
    else:
        from sys import version  # pylint: disable=import-outside-toplevel
        from webbrowser import open_new_tab  # type: ignore  # pylint: disable=import-outside-toplevel  # noqa

        from SimpleGUICS2Pygame import _VERSION, _WEBSITE, _WEBSITE_DOC  # type: ignore  # pylint: disable=import-outside-toplevel  # noqa

    width = 560
    height = 540

    def draw_about_handler(canvas):
        """
        Draw a short presentation of this package.

        :param canvas: simplegui.Canvas
        """
        size = 40
        canvas.draw_line((0, size / 2), (width - 1, size / 2), size * 1.75,
                         '#f2f2f2')
        canvas.draw_text('SimpleGUICS2Pygame ' + _VERSION, (10, size), size,
                         'Black')
        canvas.draw_image(logo_opi, (20.5, 17), (41, 34), (30.5, height - 27),
                          (41, 34))
        canvas.draw_image(logo_gpl, (44, 15.5), (88, 31),
                          (width / 2, height - 25.5), (88, 31))
        canvas.draw_image(logo, (32, 32), (64, 64), (width - 42, height - 42),
                          (64, 64))

        size = 20

        for i, line in enumerate(
            ('It is primarily a standard Python (2 and 3) module',
             'reimplementing the SimpleGUI particular module',
             'of CodeSkulptor (a Python browser environment).',
             'This is in fact a package also with other modules',
             'adapted from CodeSkulptor.', None, None,
             'Require Pygame for simpleguics2pygame.',
             'Require audioread for MP3 sounds.',
             'Require malplotlib for simpleplot.', None, None, None, None,
             'GPLv3', 'Copyright (C) 2013 - 2021 Olivier Pirson',
             'Olivier Pirson OPi --- http://www.opimedia.be/',
             '*****@*****.**')):
            if line is not None:
                canvas.draw_text(line, (10, 80 + size * (i + 3 / 4)), size,
                                 'Black')

    if codeskulptor_lib.codeskulptor_is():
        logo = simplegui.load_image(
            'https://bitbucket.org/OPiMedia/simpleguics2pygame/raw/42359d3aa63aa0b6ea2c663652a60579c7ba80f8/SimpleGUICS2Pygame/_img/SimpleGUICS2Pygame_64x64_t.png'
        )  # noqa
        logo_opi = simplegui.load_image(
            'https://bitbucket.org/OPiMedia/simpleguics2pygame/raw/42359d3aa63aa0b6ea2c663652a60579c7ba80f8/SimpleGUICS2Pygame/_img/OPi_t.png'
        )  # noqa
        logo_gpl = simplegui.load_image(
            'https://bitbucket.org/OPiMedia/simpleguics2pygame/raw/42359d3aa63aa0b6ea2c663652a60579c7ba80f8/SimpleGUICS2Pygame/_img/gplv3-88x31.png'
        )  # noqa
    else:
        from os.path import dirname, join  # pylint: disable=import-outside-toplevel  # noqa
        from sys import argv  # pylint: disable=import-outside-toplevel

        logo = simplegui._load_local_image(  # pylint: disable=protected-access,no-member  # noqa
            join(dirname(argv[0]), '../_img/SimpleGUICS2Pygame_64x64_t.png'))
        logo_opi = simplegui._load_local_image(
            join(
                dirname(argv[0]),  # pylint: disable=protected-access,no-member  # noqa
                '../_img/OPi_t.png'))
        logo_gpl = simplegui._load_local_image(
            join(
                dirname(argv[0]),  # pylint: disable=protected-access,no-member  # noqa
                '../_img/gplv3-88x31.png'))

    frame = simplegui.create_frame(
        'SimpleGUICS2Pygame: short presentation of this package', width,
        height)
    frame.set_canvas_background('White')

    frame.add_label('Go to websites:')
    frame.add_button('SimpleGUICS2Pygame', lambda: open_new_tab(_WEBSITE), 180)
    frame.add_button('online documentation',
                     lambda: open_new_tab(_WEBSITE_DOC), 180)
    frame.add_button('Olivier Pirson OPi',
                     lambda: open_new_tab('http://www.opimedia.be/'), 180)
    frame.add_button('Donate',
                     lambda: open_new_tab('http://www.opimedia.be/donate'),
                     180)

    frame.add_label('')
    frame.add_button('CodeSkulptor2',
                     lambda: open_new_tab('https://py2.codeskulptor.org/'),
                     180)
    frame.add_button('CodeSkulptor3',
                     lambda: open_new_tab('https://py3.codeskulptor.org/'),
                     180)

    frame.add_label('')
    frame.add_button('Pygame', lambda: open_new_tab('https://www.pygame.org/'),
                     180)
    frame.add_button(
        'audioread',
        lambda: open_new_tab('https://github.com/beetbox/audioread'), 180)
    frame.add_button('matplolib',
                     lambda: open_new_tab('https://matplotlib.org/'), 180)

    frame.add_label('')
    frame.add_button(
        'GPL',
        lambda: open_new_tab('https://www.gnu.org/licenses/gpl-3.0.html'), 180)

    frame.add_label('')
    frame.add_button('Quit', frame.stop)

    frame.add_label('')
    if codeskulptor_lib.codeskulptor_is():
        frame.add_label('CodeSkulptor' + (
            ' 2' if codeskulptor_lib.codeskulptor_version() == 2 else '3'))
    else:
        frame.add_label('Pygame ' + simplegui._PYGAME_VERSION)  # pylint: disable=protected-access,no-member  # noqa
        frame.add_label('')
        frame.add_label('Python ' + version)

    frame.set_draw_handler(draw_about_handler)

    frame.start()
コード例 #19
0
    def start(self, frame, width, height):
        self.width = width
        self.height = height

        self.sprites = []
        self.walls = []
        self.enemies = []
        self.pickups = []
        self.hearts = []
        self.zoom = 3
        self.mapSize = Vector(width * self.zoom, height * self.zoom)
        self.startPos = Vector(width / 2 - 1200, height / 2)

        self.changedAbility = False

        #Load Images
        image_wall = simplegui._load_local_image('Resources/images/wall1.png')
        image_wall2 = simplegui._load_local_image('Resources/images/wall2.png')
        image_teleporter = simplegui._load_local_image(
            'Resources/images/blue_power_up.png')
        image_Bat = simplegui._load_local_image('Resources/images/bat.png')
        image_FireEnemy = simplegui._load_local_image(
            'Resources/images/FireEnemy.png')
        image_laser = simplegui._load_local_image("Resources/images/Laser.png")
        image_speed = simplegui._load_local_image("Resources/images/speed.png")
        image_damage = simplegui._load_local_image(
            "Resources/images/damage.png")
        image_stamina = simplegui._load_local_image(
            "Resources/images/stamina.png")
        image_shotgun = simplegui._load_local_image(
            "Resources/images/Shotgun.png")
        hearts = simplegui._load_local_image(
            "Resources/images/heartsprite.png")

        #Background
        frame.set_canvas_background("#c5ccd8")

        #Pickups
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(-1200, -200),
                image_shotgun, 1, 1, "Ability", "Shotgun"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(-1200, 200),
                image_shotgun, 1, 1, "Ability", "Shotgun"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(500, 0), image_laser, 1,
                1, "Ability", "Laser"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(600, -225), image_speed,
                1, 1, "powerup", "speed"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(700, -225),
                image_damage, 1, 1, "powerup", "damage"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(600, 200),
                image_stamina, 1, 1, "powerup", "stamina"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(650, 200),
                image_stamina, 1, 1, "powerup", "stamina"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(700, 200),
                image_stamina, 1, 1, "powerup", "stamina"))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(-250, 200), hearts, 4,
                1, "powerup", "heart", True))
        self.pickups.append(
            Pickup(
                Vector(width / 2, height / 2) + Vector(-250, -250), hearts, 4,
                1, "powerup", "heart", True))

        #Enemies
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(400, 0), "Red",
                "Sniper", image_FireEnemy, [0, 0], 270))
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(300, 250), "Red",
                "Sniper", image_FireEnemy, [0, 1], 300))
        self.enemies.append(
            FireEnemy(
                Vector(width / 2, height / 2) + Vector(300, -250), "Red",
                "Sniper", image_FireEnemy, [0, 2], 240))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(-600, 0), "Blue",
                "Melee", image_Bat, [0, 3], 270))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(1100, 0), "Blue",
                "Melee", image_Bat, [0, 3], 270))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(1100, 150), "Blue",
                "Melee", image_Bat, [0, 3], 270))
        self.enemies.append(
            Bat(
                Vector(width / 2, height / 2) + Vector(1100, -150), "Blue",
                "Melee", image_Bat, [0, 1], 270))

        #All sprites
        wallWidth = 100
        borderLength = 4

        self.teleporter = Sprite(
            Vector(width / 2, height / 2) + Vector(1350, 0), image_teleporter,
            [150, 150])
        self.sprites.append(self.teleporter)

        #Border Walls
        spriteGroup = []
        for i in range(0, borderLength * 2 * 4 + 1):
            spriteGroup.append(
                Sprite(
                    Vector(width / 2, height / 2) +
                    Vector(-wallWidth * borderLength * 4 + wallWidth * i,
                           wallWidth * borderLength), image_wall, [100, 100]))
        spriteGroup1 = SpriteGroup(spriteGroup)
        spriteGroup1.addTo(self.sprites)
        spriteGroup = []
        for i in range(0, borderLength * 2 * 4 + 1):
            spriteGroup.append(
                Sprite(
                    Vector(width / 2, height / 2) +
                    Vector(-wallWidth * borderLength * 4 + wallWidth * i,
                           -wallWidth * borderLength), image_wall, [100, 100]))
        spriteGroup2 = SpriteGroup(spriteGroup)
        spriteGroup2.addTo(self.sprites)
        spriteGroup = []
        for i in range(0, borderLength * 2 + 1):
            spriteGroup.append(
                Sprite(
                    Vector(width / 2, height / 2) +
                    Vector(wallWidth * borderLength * 4,
                           -wallWidth * borderLength + wallWidth * i),
                    image_wall, [100, 100]))
        spriteGroup3 = SpriteGroup(spriteGroup)
        spriteGroup3.addTo(self.sprites)
        spriteGroup = []
        for i in range(0, borderLength * 2 + 1):
            spriteGroup.append(
                Sprite(
                    Vector(width / 2, height / 2) +
                    Vector(-wallWidth * borderLength * 4,
                           -wallWidth * borderLength + wallWidth * i),
                    image_wall, [100, 100]))
        spriteGroup4 = SpriteGroup(spriteGroup)
        spriteGroup4.addTo(self.sprites)

        wallWidth = 50
        wallLength = 5
        # spriteGroup = []
        # for i in range(0, wallLength*2 +1):
        #     spriteGroup.append(Sprite(Vector(width / 2-375, height / 2) + Vector(-wallWidth*wallLength + wallWidth * i, -wallWidth*wallLength), image_wall2, [50, 50]))
        # spriteGroup5 = SpriteGroup(spriteGroup)
        # spriteGroup5.addTo(self.sprites)
        # spriteGroup = []
        # for i in range(0, wallLength*2 +1):
        #     spriteGroup.append(Sprite(Vector(width / 2-375, height / 2) + Vector(-wallWidth*wallLength + wallWidth * i, wallWidth*wallLength), image_wall2, [50, 50]))
        # spriteGroup6 = SpriteGroup(spriteGroup)
        # spriteGroup6.addTo(self.sprites)

        #All walls
        lineHalfWidth = 12
        WallBox(lineHalfWidth, spriteGroup1).addTo(self.walls)
        WallBox(lineHalfWidth, spriteGroup2).addTo(self.walls)
        WallBox(lineHalfWidth, spriteGroup3).addTo(self.walls)
        WallBox(lineHalfWidth, spriteGroup4).addTo(self.walls)
コード例 #20
0
ファイル: test_image.py プロジェクト: Yesterday69/Django-blog
    if not SIMPLEGUICS2PYGAME:
        global logo

        logo = loader.get_image('logo')

    frame.set_draw_handler(draw)

    if SIMPLEGUICS2PYGAME:
        from sys import argv

        if len(argv) == 2:
            frame._save_canvas_and_stop(argv[1])

loader = Loader(frame, WIDTH, init)
loader.add_image('http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/double_ship.png',
                 'double_ship')
if not SIMPLEGUICS2PYGAME:
    loader.add_image('http://simpleguics2pygame.readthedocs.org/en/latest/_images/SimpleGUICS2Pygame_64x64_t.png',
                     'logo')
loader.load()

loader.wait_loaded()

if SIMPLEGUICS2PYGAME:
    logo = simplegui._load_local_image(
        '../_img/SimpleGUICS2Pygame_64x64_t.png')

frame.start()
if SIMPLEGUICS2PYGAME and frame._print_stats_cache:
    loader.print_stats_cache()
コード例 #21
0
 def drawMap(self, canvas):
     map = simplegui._load_local_image("gameMap.png")
     canvas.draw_image(map, (map.get_width() / 2, map.get_height() / 2),
                       (map.get_width(), map.get_height()),
                       (self.mapPos[0], self.mapPos[1]),
                       (CANVASWIDTH * self.zoom, CANVASHEIGHT * self.zoom))
コード例 #22
0
        logo = loader.get_image('logo')

    frame.set_draw_handler(draw)

    if SIMPLEGUICS2PYGAME:
        from sys import argv

        if len(argv) == 2:
            frame._save_canvas_and_stop(argv[1])


loader = Loader(frame, WIDTH, init)
loader.add_image(
    'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/double_ship.png',
    'double_ship')
if not SIMPLEGUICS2PYGAME:
    loader.add_image(
        'http://simpleguics2pygame.readthedocs.org/en/latest/_images/SimpleGUICS2Pygame_64x64_t.png',
        'logo')
loader.load()

loader.wait_loaded()

if SIMPLEGUICS2PYGAME:
    logo = simplegui._load_local_image(
        '../_img/SimpleGUICS2Pygame_64x64_t.png')

frame.start()
if SIMPLEGUICS2PYGAME and frame._print_stats_cache:
    loader.print_stats_cache()
コード例 #23
0
    def start(self, frame, width, height):
        self.sprites = []
        self.walls = []
        self.enemies = []
        self.pickups = []
        self.hearts = []

        self.zoom = 3
        self.mapSize = Vector(4800, 2700)
        self.startPos = Vector(1500, 1900) + Vector(50, 125)

        #Load Images
        image_background = simplegui._load_local_image(
            'Resources/images/map.png')
        image_wall = simplegui._load_local_image('Resources/images/Blank.png')
        image_Bat = simplegui._load_local_image('Resources/images/bat.png')
        image_FireEnemy = simplegui._load_local_image(
            'Resources/images/FireEnemy.png')
        image_laser = simplegui._load_local_image("Resources/images/Laser.png")
        image_teleporter = simplegui._load_local_image(
            'Resources/images/blue_power_up.png')

        #Background
        frame.set_canvas_background("#0170FE")
        self.sprites.append(
            Sprite(self.mapSize / 2, image_background, self.mapSize.getP()))

        #Teleporter
        self.teleporter = Sprite(
            Vector(width * self.zoom / 2, height * self.zoom / 2) +
            Vector(1500, 0), image_teleporter, [150, 150])
        self.sprites.append(self.teleporter)

        #Pickups
        self.pickups.append(
            Pickup(Vector(300, 300), image_laser, 1, 1, "Ability", "Laser"))

        #Enemies
        self.enemies.append(
            FireEnemy(Vector(3240, 1580), "Red", "Sniper", image_FireEnemy,
                      [0, 0], 180))
        self.enemies.append(
            FireEnemy(Vector(2620, 1910), "Red", "Sniper", image_FireEnemy,
                      [0, 1], 270))
        self.enemies.append(
            FireEnemy(Vector(1050, 1640), "Red", "Sniper", image_FireEnemy,
                      [0, 2], 90))
        self.enemies.append(
            Bat(Vector(1200, 950), "Blue", "Melee", image_Bat, [0, 3], 160))
        self.enemies.append(
            Bat(Vector(4040, 1080), "Blue", "Melee", image_Bat, [0, 3], 160))
        self.enemies.append(
            Bat(Vector(3900, 1480), "Blue", "Melee", image_Bat, [0, 1], 260))

        # #All sprites
        # wallWidth = 50
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(470, 1350), image_wall, [100, 1900]))
        # # spriteGroup.append(Sprite(Vector(100,50) , image_wall , [50,50] ))
        # # spriteGroup.append(Sprite(Vector(150,50) , image_wall, [50, 50], math.pi * 45 / 360))
        #
        # spriteGroup2 = SpriteGroup(spriteGroup)
        # spriteGroup2.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(4350, 1350), image_wall, [100, 1900]))
        # # spriteGroup.append(Sprite(Vector(100,50) , image_wall , [50,50] ))
        # # spriteGroup.append(Sprite(Vector(150,50) , image_wall, [50, 50], math.pi * 45 / 360))
        #
        # spriteGroup4 = SpriteGroup(spriteGroup)
        # spriteGroup4.addTo(self.sprites)
        #
        # # spriteGroup = []
        # # for i in range(0,7):
        # #     spriteGroup.append(Sprite( Vector(695,460+wallWidth*i) , image_wall , [50,50] ))
        # # spriteGroup1 = SpriteGroup(spriteGroup)
        # # spriteGroup1.addTo(self.sprites)
        # #
        # spriteGroup = []
        # spriteGroup.append(Sprite( Vector(2400,440) , image_wall , [3900,100] ))
        # spriteGroup3 = SpriteGroup(spriteGroup)
        # spriteGroup3.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(2400, 2250), image_wall, [3900, 100]))
        # spriteGroup5 = SpriteGroup(spriteGroup)
        # spriteGroup5.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(1300, 700), image_wall, [870, 100]))
        # spriteGroup6 = SpriteGroup(spriteGroup)
        # spriteGroup6.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(2300, 620), image_wall, [1200, 80]))
        # spriteGroup9 = SpriteGroup(spriteGroup)
        # spriteGroup9.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(840, 900), image_wall, [80, 500]))
        # spriteGroup7 = SpriteGroup(spriteGroup)
        # spriteGroup7.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(1690, 900), image_wall, [80, 500]))
        # spriteGroup12 = SpriteGroup(spriteGroup)
        # spriteGroup12.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(680, 1200), image_wall, [400, 100]))
        # spriteGroup8 = SpriteGroup(spriteGroup)
        # spriteGroup8.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(1940, 1200), image_wall, [600, 100]))
        # spriteGroup11 = SpriteGroup(spriteGroup)
        # spriteGroup11.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(1380, 1500), image_wall, [1700, 100]))
        # spriteGroup10 = SpriteGroup(spriteGroup)
        # spriteGroup10.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(2240, 1770), image_wall, [1700, 100]))
        # spriteGroup13 = SpriteGroup(spriteGroup)
        # spriteGroup13.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(1500, 2130), image_wall, [2000, 100]))
        # spriteGroup14 = SpriteGroup(spriteGroup)
        # spriteGroup14.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(1430, 1970), image_wall, [80, 300]))
        # spriteGroup15 = SpriteGroup(spriteGroup)
        # spriteGroup15.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(2455, 2050), image_wall, [80, 100]))
        # spriteGroup16 = SpriteGroup(spriteGroup)
        # spriteGroup16.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(3400, 1850), image_wall, [80, 700]))
        # spriteGroup17 = SpriteGroup(spriteGroup)
        # spriteGroup17.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(3400, 850), image_wall, [80, 750]))
        # spriteGroup18 = SpriteGroup(spriteGroup)
        # spriteGroup18.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(2430, 1150), image_wall, [80, 750]))
        # spriteGroup19 = SpriteGroup(spriteGroup)
        # spriteGroup19.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(2890, 900), image_wall, [80, 500]))
        # spriteGroup20 = SpriteGroup(spriteGroup)
        # spriteGroup20.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(2950, 1500), image_wall, [900, 100]))
        # spriteGroup21 = SpriteGroup(spriteGroup)
        # spriteGroup21.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(2550, 1200), image_wall, [300, 100]))
        # spriteGroup26 = SpriteGroup(spriteGroup)
        # spriteGroup26.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(3100, 1200), image_wall, [500, 100]))
        # spriteGroup22 = SpriteGroup(spriteGroup)
        # spriteGroup22.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(3850, 800), image_wall, [800, 100]))
        # spriteGroup23 = SpriteGroup(spriteGroup)
        # spriteGroup23.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(3850, 1900), image_wall, [800, 100]))
        # spriteGroup24 = SpriteGroup(spriteGroup)
        # spriteGroup24.addTo(self.sprites)
        #
        # spriteGroup = []
        # spriteGroup.append(Sprite(Vector(4200, 1400), image_wall, [80, 1000]))
        # spriteGroup25 = SpriteGroup(spriteGroup)
        # spriteGroup25.addTo(self.sprites)

        # spriteGroup = []
        # for i in range(0, 7):
        #     spriteGroup.append(Sprite(Vector(695 + wallWidth * i, 460), image_wall, [50, 50]))
        # spriteGroup3 = SpriteGroup(spriteGroup)
        # spriteGroup3.addTo(self.sprites)
        #
        # spriteGroup = []
        # for i in range(0,7):
        #     spriteGroup.append(Sprite( Vector(695+wallWidth*i,760) , image_wall , [50,50] ))
        # spriteGroup4 = SpriteGroup(spriteGroup)
        # spriteGroup4.addTo(self.sprites)

        #All walls
        lineHalfWidth = 15