Exemple #1
0
    def snakeMove(self, dir):
        head_x, head_y = self.spriteList[0].getPosition()

        if self.addOne == True:
            self.add()
            self.addOne = False

        if dir == -self.last_dir:
            dir = self.last_dir
        if dir == self.DIR_UP:
            newSprite = Sprite("mario.gif", self.__canvas, head_x, head_y - 50)
            self.spriteList.insert(0, newSprite)
        elif dir == self.DIR_DOWN:
            newSprite = Sprite("mario.gif", self.__canvas, head_x, head_y + 50)
            self.spriteList.insert(0, newSprite)
        elif dir == self.DIR_LEFT:
            newSprite = Sprite("mario.gif", self.__canvas, head_x - 50, head_y)
            self.spriteList.insert(0, newSprite)
        elif dir == self.DIR_RIGHT:
            newSprite = Sprite("mario.gif", self.__canvas, head_x + 50, head_y)
            self.spriteList.insert(0, newSprite)
        self.spriteList.pop(-1)
        self.last_dir = dir

        if len(self.foodList) > 0:
            tail_x, tail_y = self.spriteList[-1].getPosition()
            if self.foodList[0][0] == tail_x and self.foodList[0][1] == tail_y:
                self.addOne = True
                self.foodList.pop(0)
Exemple #2
0
    def __init__(self, screen, sprite_sheet):
        self.screen = screen
        self.screen_area = screen.get_rect()
        self.sprite_sheet = sprite_sheet

        self.space_invaders_title = Text(screen, "SPACE INVADERS", (0, 255, 0),
                                         (0, 0, 0), self.screen_area.w,
                                         self.screen_area.h, 100)
        self.set_text_position_menu(self.space_invaders_title, 4, 6)

        self.press_enter_text = Text(screen, "Press Enter To Start Game",
                                     (0, 255, 0), (0, 0, 0),
                                     self.screen_area.w, self.screen_area.h,
                                     30)
        self.set_text_position_menu(self.press_enter_text, 2, 4)

        self.press_highscores_text = Text(screen,
                                          "Press H To View High Scores",
                                          (0, 255, 0), (0, 0, 0),
                                          self.screen_area.w,
                                          self.screen_area.h, 30)
        self.set_text_position_menu(self.press_highscores_text, 2, 4, 0, 50)

        self.alien_points_1_text = Text(screen, "10 Points", (255, 255, 255),
                                        (0, 0, 0), self.screen_area.w,
                                        self.screen_area.h, 48)
        self.set_text_position_menu(self.alien_points_1_text, 2, 2, 0, -50)

        self.alien_points_2_text = Text(screen, "20 Points", (255, 255, 255),
                                        (0, 0, 0), self.screen_area.w,
                                        self.screen_area.h, 48)
        self.set_text_position_menu(self.alien_points_2_text, 2, 2)

        self.alien_points_3_text = Text(screen, "30 Points", (255, 255, 255),
                                        (0, 0, 0), self.screen_area.w,
                                        self.screen_area.h, 48)
        self.set_text_position_menu(self.alien_points_3_text, 2, 2, 0, 50)

        self.alien_points_4_text = Text(screen, "????????", (255, 255, 255),
                                        (0, 0, 0), self.screen_area.w,
                                        self.screen_area.h, 48)
        self.set_text_position_menu(self.alien_points_4_text, 2, 2, 0, 100)

        self.alien_1_sprite = Sprite(screen, sprite_sheet, 5,
                                     self.screen_area.w, self.screen_area.h)
        self.set_sprite_position_menu(self.alien_1_sprite, 2, 2, -100, -50)

        self.alien_2_sprite = Sprite(screen, sprite_sheet, 11,
                                     self.screen_area.w, self.screen_area.h)
        self.set_sprite_position_menu(self.alien_2_sprite, 2, 2, -100)

        self.alien_3_sprite = Sprite(screen, sprite_sheet, 17,
                                     self.screen_area.w, self.screen_area.h)
        self.set_sprite_position_menu(self.alien_3_sprite, 2, 2, -100, 50)

        self.alien_4_sprite = Sprite(screen, sprite_sheet, 0,
                                     self.screen_area.w, self.screen_area.h)
        self.set_sprite_position_menu(self.alien_4_sprite, 2, 2, -100, 100)
    def __init__(self, x, y, state, tower_type):
        # For cycle detection
        self.is_powered = False

        self.x = x
        self.y = y
        self.tower_type = tower_type
        # pos is placeholder
        self.sprite = Sprite(x=x, y=y, frames=[[pygame.image.load('sprites/lighthouse/LH1.png')]])
        self.sprite.rect.x = x*PIXEL_RESOLUTION
        self.sprite.rect.y = y*PIXEL_RESOLUTION
        self.light_sprite = Sprite(x=x, y=y, frames=[[pygame.image.load('sprites/lighthouse/weakstraight1.png')]], can_rotate=True)
        self.light_sprite.rect.x = x*PIXEL_RESOLUTION
        self.light_sprite.rect.y = y*PIXEL_RESOLUTION
Exemple #4
0
    def move(self):
        STEP_SIZE = 30
        theta = self.rotation()  # degrees
        theta = theta * pi / 180  # radians
        dx = STEP_SIZE * cos(theta)
        dy = STEP_SIZE * sin(theta)

        if self.distance_traveled > self.max_range:
            if not self.scene():
                return
            self.scene().removeItem(self)
            del self
        else:
            # move bullet
            self.setPos(self.x() + dx, self.y() + dy)
            self.distance_traveled += STEP_SIZE

            # if bullet collides with enemy, destroy both
            self.colliding_items = self.collidingItems()
            for i in self.colliding_items:
                if hasattr(i, 'team') and i.team != self.owner.team:
                    # substract health
                    if i.is_damageable():
                        i.decrease_health(self.damage)

                    # animate
                    self.scene().addItem(Sprite(self.pos()))
                    self.scene().removeItem(self)
                    del self
                    return
Exemple #5
0
def createLevel():
    GameState.clean()
    GameState.level += 1
    
    stairUp = Item("stairs_up.png", (SCALE, SCALE), GameState.triggerLoad)
    GameState.dynamics.add(stairUp)
    playerPos = None
    maze = genMaze(MAPSIZE+GameState.level)
    
    floors = sum(sum(maze.data))
    spawns = [lambda pos: HealItem(pos, 1) for _ in range(int(0.02*floors))]
    spawns += [lambda pos: Enemy("enemy_placeholder.png", pos) for _ in range(int(0.05*floors))]
    
    for x in range(maze.M+2):
        for y in range(maze.N+2):
            if not maze[x-1,y-1]:
                GameState.statics.add(Sprite(wallimg, (x*SCALE, y*SCALE)))
            elif playerPos is None:
                playerPos = x*SCALE, y*SCALE
            elif random.random() < .01 and x < maze.M/2 and y < maze.N:
                playerPos = x*SCALE, y*SCALE
            else:
                if random.random() < max(len(spawns)/floors, .05) and spawns:
                    i = random.randrange(len(spawns))
                    GameState.dynamics.add(spawns[i]((x*SCALE,y*SCALE)))
                    del spawns[i]
                floors -= 1
                stairUp.rect.x, stairUp.rect.y = x*SCALE, y*SCALE

    GameState.initBackground()    
    GameState.player.rect.topleft = playerPos
Exemple #6
0
 def __init__(self, source, scale, pos, angle):
     super().__init__(pos=pos)
     self.scale = scale
     self.images = Atlas('images/hat.atlas')  ## Atlas initialization
     self.keys = list(
         self.images.textures.keys())  ## atlas keys into a list
     print('keys in Hat', self.keys)
     self.kys = ('hat_burnt0', 'hat_burnt1', 'hat_burnt2', 'hat_burnt3',
                 'hat_burnt4', 'hat_burnt-final')
     print('hat keys list', self.kys)
     self.image = Sprite(texture=self.images['hat'],
                         scale=self.scale,
                         pos=pos)
     #self.image = Sprite(source=source, scale=self.scale, pos=pos)
     self.size = self.image.size
     self.add_widget(self.image)
     self.inhand = False
     self.onhead = False
     self.onhead_timer = 0
     self.moving = False
     #burning status
     self.burning = False
     self.burnt = False
     self.burn_counter = 0
     self.sprite = 0
     self.animation_value = int(200 / (len(self.kys) - 1))
     print('animation value', self.animation_value)
     self.vy = 0
     self.combust = SoundLoader.load('audio/combust-both.wav')
Exemple #7
0
 def __init__(self, canvas, length, x, y):
     self.__canvas = canvas
     self.spriteList = []
     self.addOne = False
     for i in range(length):
         newSprite = Sprite("mario.gif", self.__canvas, x, y + i * 50)
         self.spriteList.append(newSprite)
Exemple #8
0
    def parse_key(self, node):
        # in self.key there should be only ref nodes
        # the point is at start to create all nodes that have NO parent
        starter = self.get_from_key_with_parent(node.get_bone_id())

        if len(starter) == 0:
            print 'WARNING: found a bone with no children attached:', node.get_name(
            ), 'id:', node.get_bone_id()
#            Utils.print_error('There are no nodes with this node as parent', [node, self.key, self.timeline])

        for st in starter:
            obj = None
            if st.get_type() == BoneRef.type:
                obj = Node()
            elif st.get_type() == ObjectRef.type:
                obj = Sprite(self.fileKeeper)

            if obj is None:
                Utils.print_error('Unable to generate node nor sprite from',
                                  [obj, self.key, self.timeline])

            objTime = obj.build(st, self.timeline)

            if math.fabs(self.key.time - objTime) > 1e-4:
                obj.set_active(False)

            node.add_child(obj)

            newPath = obj.get_bone_id()
            if newPath is not None:
                self.parse_key(obj)
Exemple #9
0
class Bullet:
    bulletSprite = Sprite(
        'https://github.com/NJHewadewa/DebtRunners/blob/master/Sprites/Bullet.png?raw=true'
    )

    def __init__(self,
                 pos=Vector(),
                 vel=Vector(),
                 homing=False,
                 enemyPos=Vector(),
                 bulletSpeed=7):
        self.pos = pos
        self.vel = vel
        self.homing = homing
        self.enemyPos = enemyPos
        self.bulletSpeed = bulletSpeed
        self.counter = 0

    def update(self):
        if self.homing == False:
            self.pos.add(self.vel)
        elif self.homing == True:
            if self.counter < 30:
                #Goes in the direction of the mouse for 30 frames(half a second) then locks onto enemy and fires at the enemy
                self.counter += 1
                self.pos.add(self.vel)
            else:
                self.vel = self.enemyPos.copy().subtract(
                    self.pos.copy()).normalize().multiply(self.bulletSpeed)
                self.pos.add(self.vel)
Exemple #10
0
    def init(self):
        # hearts component
        temp_sprite = Sprite("heart", 50, 50, 0, 0, ui_sprite=True)
        new_heart_comp = HeartsComp(0, 0, 0, 0, temp_sprite)
        self.add_component(new_heart_comp)

        Camera.set_follows(self)
Exemple #11
0
    def __init__(self, griddata):

        griddata.reverse()

        #self.grid=griddata
        self.grid = []
        for line in griddata:
            self.grid.append(list(line))

        rr = 0
        for r in self.grid:
            cc = 0
            for c in r:
                if c == "6":
                    self.solomon_start = [cc, rr]
                    self.grid[rr][cc] = "0"
                    #self.solomon.A_wandswish.callback=self.block_swap
                elif c == "7":
                    self.door = [cc, rr]
                    self.grid[rr][cc] = "0"
                elif c == "8":
                    ns = Sprite(cc, rr + 0.5)
                    ns.setDrawFuncToList(lists["green_key"])
                    #ns.collision_action=self.key_detected_something_test
                    self.sprites.append(ns)
                    self.grid[rr][cc] = "0"
                elif not c in ["3", "2", "1"]:
                    self.grid[rr][cc] = "0"

                cc += 1

            rr += 1
def SetUpCloudSprite(x,y, towerEntity):
    towerEntity.tower_type.is_passable = False;
    img = pygame.image.load('sprites/fake_cloud.png')
    towerEntity.sprite = Sprite(x=x, y=y, frames=[[img]])
    towerEntity.sprite.rect.x = x*PIXEL_RESOLUTION;
    towerEntity.sprite.rect.y = y*PIXEL_RESOLUTION;
    towerEntity.light_sprite = None;
def SetUpShipSprite(x,y, towerEntity):
    img = pygame.image.load('sprites/ship1.png')
    # @TODO anthonyluu: remove this after we switch to 64x64
    smaller_img = pygame.transform.scale(img, (PIXEL_RESOLUTION, PIXEL_RESOLUTION))

    towerEntity.sprite = Sprite(x=x, y=y, frames=[[smaller_img]])
    towerEntity.sprite.rect.x = x*PIXEL_RESOLUTION;
    towerEntity.sprite.rect.y = y*PIXEL_RESOLUTION;
    towerEntity.light_sprite = None;
Exemple #14
0
 def __init__(self, name, init_x, init_y, image, stats, other):
     self.utils = Utils()
     self.name = name
     self.x = init_x
     self.y = init_y
     self.sprite = Sprite((self.x * self.utils.MAP_TILE_WIDTH,
                           self.y * self.utils.MAP_TILE_HEIGHT), image,
                          self.name)
     self.stats = stats
     self.exp_given = other['exp']
     self.difficulty = other['difficulty']
Exemple #15
0
 def make_button(self, title, surf, x, y, image=None):
     pos = surf.get_offset()
     print 'offset for this surface is: ' + str(pos)
     font = pygame.font.Font(None, 16)
     f = font.render(title, 1, (0, 0, 0))
     t = pygame.Surface((f.get_width() + 2, f.get_height() + 2))
     t.fill((255, 255, 255))
     t.blit(f, (0, 0))
     sp = Sprite((x + pos[0], y + pos[1]), t, title)
     print "Sprite is at " + str(sp.rect.topleft)
     self.sprites.add(sp)
     return sp
Exemple #16
0
 def __init__(self, name, init_x, init_y, image, stats, equipment,
              inventory, skills):
     self.utils = Utils()
     self.name = name
     self.x = init_x
     self.y = init_y
     self.sprite = Sprite((self.x * self.utils.MAP_TILE_WIDTH,
                           self.y * self.utils.MAP_TILE_HEIGHT), image,
                          self.name)
     self.stats = stats
     self.equipment = equipment
     self.inventory = inventory
     self.skills = skills
Exemple #17
0
 def onEnter(self):
   # create screen
   gGameScreen.create_screen() 
   # init fx manager
   gFxMgr.setLayer(gGameScreen.layer_fx)
   gFxMgr.setActive(True)
   # sprite manager
   gSpriteMgr.reset()
   
   # add star
   sprite1 = Sprite(size=(500,500), vel=[500,500], rotateVel=360, scaling=0.5, texture=gResMgr.getTexture('star'), gravity=980, collision=True)
   sprite2 = Sprite(pos=(200,200), size=(500,500), vel=[500,500], rotateVel=180, scaling=0.5, texture=gResMgr.getTexture('star'), gravity=80, collision=True)
   gGameScreen.add_to_bg(sprite1)
   gGameScreen.add_to_bg(sprite2)
   
   # create a particle
   particleInfo = dict(loop=-1,texture=gResMgr.getTexture('explosion'), fade=1, delay=Var(0.0,1.0), rotateVel=Var(360.0), rotate=Var(0.0, 360), offset=Var((-20,20), (-20,20)),
     lifeTime=Var(0.5,1.5), sequence=[4,4], vel=Var([gVel*0.1, gJump*0.1], [-gVel*0.1, gJump*0.25]), scaling=Var(1.0, 2.5), gravity=Var(0.0))
   gFxMgr.create_emitter('explosion1', particleInfo, 20)
   gFxMgr.create_emitter('explosion2', particleInfo, 20)
   
   gFxMgr.get_emitter('explosion1').play_particle_with(sprite1, True)
   gFxMgr.get_emitter('explosion2').play_particle_with(sprite2, True)  
Exemple #18
0
 def randomFood(self):
     row = int(self.HEIGHT/self.IMAGE_SIZE)
     col = int(self.WIDTH/self.IMAGE_SIZE)
     allPos = [i for i in range(row*col)]
     invalidPos = []
     for sprite in self.snake.spriteList:
         invalidPos.append(int(sprite.y/self.IMAGE_SIZE) * row + int(sprite.x/self.IMAGE_SIZE))
     valid = []
     for x in allPos:
         if x not in invalidPos:
             valid.append(x)
     x = int(valid[random.randint(0, len(valid)-1)]%col) * self.IMAGE_SIZE
     y = int(valid[random.randint(0, len(valid)-1)]/col) * self.IMAGE_SIZE
     self.food = Sprite("goomba.gif", self.__canvas, x,y)
Exemple #19
0
 def __init__(self, name, init_x, init_y, image, stats, flags, equip=None):
     self.utils = Utils()
     self.name = name
     self.x = init_x
     self.y = init_y
     self.sprite = Sprite((self.x * self.utils.MAP_TILE_WIDTH,
                           self.y * self.utils.MAP_TILE_HEIGHT), image,
                          self.name)
     self.stats = stats
     self.flags = flags
     if equip is not None:
         self.equip = True
         self.equip_type = equip
         self.is_equipped = False
     else:
         self.equip = False
Exemple #20
0
def updateSprite(Depth_List, Texture_List, frame):
    f = open(saved_depthfill_path + "cmin.txt", 'r')
    Sprite_bookArrival = Sprite.Sprite(768, 1024)
    for i in range(0, frame):
        DepthedImg = cv2.imread(saved_wapring_depth_path + Depth_List[i], 0)
        TexturedImg = cv2.imread(saved_wapring_texture_path + Texture_List[i],
                                 1)
        #read the cmin
        cmin = float(f.readline())
        #currentSprite = Sprite.Sprite(DepthedImg)
        Sprite_bookArrival.setGS(cmin, DepthedImg, TexturedImg)
        cv2.imwrite(saved_sprite_depth_path + Depth_List[i],
                    Sprite_bookArrival.getG())
        cv2.imwrite(saved_sprite_texture_path + Texture_List[i],
                    Sprite_bookArrival.getS())
        print(str(i) + ":processing")
Exemple #21
0
 def init(self):
     # create coin sprite
     coins_sprite = Sprite('coins',
                           GameData.tile_size,
                           GameData.tile_size,
                           self.x,
                           self.y,
                           ui_sprite=True)
     coins_label = LabelComp(self.x + GameData.tile_size,
                             self.y,
                             GameData.tile_size,
                             GameData.tile_size,
                             '0',
                             40,
                             color=(255, 255, 255))
     self.add_component(coins_sprite)
     self.add_component(coins_label)
Exemple #22
0
	def load_monster(self, name, x, y):
		parser = ConfigParser.ConfigParser()
		parser.read("monsters/" + name + ".mon")
		new_mon = {}
		new_mon['name'] = parser.get("misc", "name")
		pos = parser.get("misc", "sprite").split(',')
		new_mon['sprite'] = Sprite((x*32, y*32), self.sprites[int(pos[0])][int(pos[1])], "monster")
		new_mon['x'] = x
		new_mon['y'] = y
		for section in parser.sections():
			if section == "misc":
				{}
			else:
				desc = dict(parser.items(section))
				new_mon[section] = desc
		for i in new_mon['stats']:
			new_mon['stats'][i] = int(new_mon['stats'][i])
		self.monster_instance.append(new_mon)
		return new_mon
Exemple #23
0
def main():

    scene = Scene()
    scene.setTitle("Demo")
    scene.setSize(800, 600)

    # image by sujit1717
    player = Player(scene, 'player.png', 50, 100)
    player.setPosition(400, 300)

    box = Sprite(scene, 'box.png', 50, 50)
    box.setPosition(500, 500)

    #  define custom update method that'll be passed to the game loop
    def checkPlayerCollisions():
        if player.checkCollision():
            box.setPosition(randint(0, scene.width), randint(0, scene.height))

    #  start the game loop
    scene.startScene(checkPlayerCollisions)
Exemple #24
0
 def __init__(self, scale, pos, angle):
     super().__init__(pos=pos)
     self.scale = scale
     source = 'images/logs.png'
     #self.angle = angle
     self.images = Atlas('images/fire.atlas')
     self.keys = list(self.images.textures.keys())
     print('fire keys list', self.keys)
     self.keys = 'fire-04 fire-05'.split()
     print('fire keys list', self.keys)
     #self.images = Atlas('images/man.atlas')
     self.image = Sprite(texture=self.images[self.keys[0]],
                         scale=self.scale,
                         pos=pos)
     #self.image = Sprite(source=self.images[self.kys[0]], scale=self.scale, pos=pos)
     self.size = self.image.size
     self.add_widget(self.image)
     #self.inhand = False
     self.burn_counter = 0
     self.sprite = 0
Exemple #25
0
 def __init__(self, player: int, location: tuple, floor_height: float):
     """ctor"""
     self.sprite = Sprite("assets/Sprites", (70, 80), 2.5, player != 1,
                          Player.SPRITE_SHEET_STATES)
     if player == 1:
         self.controls = Player.PLAYER_ONE_CONTROLS
     else:
         self.controls = Player.PLAYER_TWO_CONTROLS
     self.location = Vector(location)
     self.sprite_state = "IDLE"
     self.speed = 0
     self.ResetSpeed()
     self.frame_counter = 0
     self.floor_height = floor_height
     self.velocity = Vector((0, 0))
     self.acceleration = Vector((0, GRAVITY))
     self.sprite_state_counter = 0
     self.damage_time = 0
     self.health = 100
     self.imports_done = False
Exemple #26
0
 def __init__(self, highscore=0):
     super().__init__()
     # self.add_widget(Sprite(source='images/background.png'))
     self.background = Sprite(source='data/presplash.png',
                              scale=props.scale)
     self.background.center = Window.center
     self.add_widget(self.background)
     #self.music = SoundLoader.load('audio/testsong.xm')
     #self.music = SoundLoader.load('audio/song1.wav')
     self.music = SoundLoader.load('audio/song1.mp3')
     #self.music = SoundLoader.load('audio/song1.ogg')
     #print('sound source', self.music.source)
     print('type', type(self.music))
     #self.gst = SoundGstplayer()
     #self.music = SoundGstplayer.load(self.music_in)
     self.music.play()
     self.welcome_text = Label(
         text='Welcome to America.',
         pos=(Window.width / 3, Window.height / 2),
         #font_size='20sp', color=(0.1, 0.1, 0.1, 1))
         font_size=Window.height / 18,
         color=(0.1, 0.1, 0.1, 1))
     self.start_text = Label(
         text='touch anywhere to start',
         pos=(Window.width / 3, Window.height / 3),
         #font_size='20sp', color=(0.1, 0.1, 0.1, 1))
         font_size=Window.height / 20,
         color=(0.1, 0.1, 0.1, 1))
     self.add_widget(self.welcome_text)
     self.add_widget(self.start_text)
     self.old_highscore = 0
     if highscore != 0:
         print('high score', highscore)
         if highscore > self.old_highscore:
             self.highscore = highscore  # link to google cloud (propbably using java calls)
             print('high score', self.highscore)
         #create the high score widget
         self.hs_text = Label(text='High Score: {:02f}'.format(self.highscore), \
                     pos=(Window.width/3, Window.height/5), font_size='18sp', color=(0.1, 0.1, 0.1, 1))
         self.add_widget(self.hs_text)
Exemple #27
0
    def __init__(self,
                 x=const.SCREEN_W // 2,
                 y=const.SCREEN_H * 1 // 3,
                 speed=const.ENEMY_SPEED_STARTING,
                 monster=None):
        #TODO: update sprites
        self.monster = random_choice(self.MONSTER_CHOICES)
        sprites = self.MONSTER_SPRITES[self.monster]

        super().__init__(
            x,
            y,
            speed,
            Sprite(
                [
                    pygame.image.load(sprites['front']),
                    pygame.image.load(sprites['front'])
                ],  #standing
                [
                    pygame.image.load(sprites['left']),
                    pygame.image.load(sprites['left'])
                ],  #left
                [
                    pygame.image.load(sprites['right']),
                    pygame.image.load(sprites['right'])
                ],  #right
                [
                    pygame.image.load(sprites['front']),
                    pygame.image.load(sprites['front'])
                ],  #up
                [
                    pygame.image.load(sprites['front']),
                    pygame.image.load(sprites['front'])
                ]))  #down
        self.state = randint(0, 3)
        self.move_tick = 0
Exemple #28
0
    def __init__(self, window):
        super().__init__(window)
        self.grid() # display

        #build map
        map = Map(self.matrix, 50)
        self.WIDTH = map.getScreenWidth()
        self.HEIGHT = map.getScreenHeight()

        # Canvas - private instance variable
        self.__canvas = Canvas(self, width = self.WIDTH, height = self.HEIGHT, bg = "white")
        self.__canvas.grid()



        # Images - private instance variable
        self.snake = Snake(self.__canvas, 5, map.num2pixel(5), map.num2pixel(6))
        self.food = Sprite("goomba.gif", self.__canvas, 300, 300)

        # bind keyboard
        self.__canvas.bind("<Key>", self.key)
        # focus input on canvas
        self.__canvas.focus_set()
        self.start()
Exemple #29
0
    def __init__(self,griddata):

        griddata.reverse()

        #self.grid=griddata
        self.grid=[]
        for line in griddata:
            self.grid.append(list(line))

        rr=0
        for r in self.grid:
            cc=0
            for c in r:
                if c=="@":
                    self.solomon=Solomon(cc,rr,self)
                    self.grid[rr][cc]="."
                    self.solomon.A_wandswish.callback=self.block_swap
                elif c=="4":
                    self.door=[cc,rr]
                    self.grid[rr][cc]="."
                elif c=="k":
                    ns=Sprite(cc,rr+0.5)
                    ns.setDrawFuncToList(lists["green_key"])
                    ns.collision_action=self.key_detected_something_test
                    self.sprites.append(ns)
                    self.grid[rr][cc]="."
                elif not c in ["b","B","s"]:
                    self.grid[rr][cc]="."

                cc+=1

            rr+=1

        self.AG_twinklers=ActionGroup()
        self.AG_twinklers.append("twinkle1",Action(func=self.sin_gen_1,max=200,cycle=True,min=0,reverseloop=False,init_tick=0))
        self.AG_twinklers.append("twinkle2",Action(func=self.sin_gen_2,max=100,cycle=True,min=0,reverseloop=False,init_tick=10))
Exemple #30
0
class Player(Actor):  #control self
    # Player class sprites holding items in order: Pistol, Shotgun, Rifle, Knife, Sniper, RPG
    playerSprites = [
        Sprite(
            'https://github.com/NJHewadewa/DebtRunners/blob/master/Sprites/DudePistol.png?raw=true'
        ),
        Sprite(
            'https://github.com/NJHewadewa/DebtRunners/blob/master/Sprites/DudeShotgun.png?raw=true'
        ),
        Sprite(
            'https://github.com/NJHewadewa/DebtRunners/blob/master/Sprites/DudeRifle.png?raw=true'
        ),
        Sprite(
            'https://github.com/NJHewadewa/DebtRunners/blob/master/Sprites/DudeKnife1.png?raw=true'
        ),
        Sprite(
            'https://github.com/NJHewadewa/DebtRunners/blob/master/Sprites/DudeSniper.png?raw=true'
        ),
        Sprite(
            'https://github.com/NJHewadewa/DebtRunners/blob/master/Sprites/DudeRocket.png?raw=true'
        )
    ]

    def __init__(self,
                 pos=Vector(),
                 health=100,
                 weapon=Pistol(),
                 speed=2,
                 colour="White",
                 lives=3,
                 vel=Vector(),
                 money=0):
        self.lives = lives
        self.money = money
        super().__init__(pos, health, weapon, speed, colour, vel)

    def __str__(self):
        return str(self.lives) + super().__str__()

    def update(self, mousepos):
        super().update(mousepos)
        self.weapon.update(mousepos, self.pos.copy())