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
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
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")
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
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
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")
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
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))
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')
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))
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))
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
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()
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")
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()
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()
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))
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()
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)
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()
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))
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()
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