Example #1
0
 def on_point(): #RETURNS TRUE IF BOTH CHARACTERS X & Y = meeting_point's X & Y (are on meeting_point)
     on = 0
     for character in Character.List:
         if character.x == Tile.get_tile(Tile.MAP['point']).x and character.y == Tile.get_tile(Tile.MAP['point']).y:
             on += 1
     if on == len(Character.List):
         return True
Example #2
0
 def on_point(): #RETURNS TRUE IF BOTH CHARACTERS X & Y = meeting_point's X & Y (are on meeting_point)
     on = 0
     for character in Character.List:
         if character.x == Tile.get_tile(Tile.MAP['point']).x and character.y == Tile.get_tile(Tile.MAP['point']).y:
             on += 1
     if on == len(Character.List):
         return True
Example #3
0
def interaction(screen, survivor):

    Mpos = pygame.mouse.get_pos()  # [x, y]
    Mx = Mpos[0] / Tile.width
    My = Mpos[1] / Tile.height

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

        if event.type == pygame.MOUSEBUTTONDOWN:
            for tile in Tile.List:
                if tile.x == (Mx * Tile.width) and tile.y == (My * Tile.width):
                    tile.type = 'solid'
                    tile.walkable = False
                    break

    keys = pygame.key.get_pressed()

    if keys[pygame.K_w]:  # North
        future_tile_number = survivor.get_number() - Tile.V
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('n')
                survivor.y -= survivor.height

    if keys[pygame.K_s]:  # South
        future_tile_number = survivor.get_number() + Tile.V
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('s')
                survivor.y += survivor.height

    if keys[pygame.K_a]:  # West
        future_tile_number = survivor.get_number() - Tile.H

        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('w')
                survivor.x -= survivor.width

    if keys[pygame.K_d]:  # East
        future_tile_number = survivor.get_number() + Tile.H
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('e')
                survivor.x += survivor.width
Example #4
0
 def respawn():
     for character in Character.List:
         if character.name == 'Bill':
             character.x, character.y = Tile.get_tile(
                 Tile.MAP['spawn'][0]).x, Tile.get_tile(
                     Tile.MAP['spawn'][0]).y
         else:
             character.x, character.y = Tile.get_tile(
                 Tile.MAP['spawn'][1]).x, Tile.get_tile(
                     Tile.MAP['spawn'][1]).y
Example #5
0
    def run(self):

        pygame.display.set_caption(self.caption)

        if self.state == S_MENU:

            play_button = Button(
                'PLAY', Tile.screen_size[0] / 2 - self.button_size[0] / 2, 200,
                self.button_size[0], self.button_size[1], 'PLAY GAME')
            builder_button = Button(
                'DEVELOP', Tile.screen_size[0] / 2 - self.button_size[0] / 2,
                300, self.button_size[0], self.button_size[1], 'DEVELOP LEVEL')

            while self.state == S_MENU:
                self.state = functions.get_state()

                self.screen.blit(self.menubackground, (0, 0))
                Button.draw_buttons(self.screen)
                menu_interaction(self.screen)

                pygame.display.flip()
                self.clock.tick(self.FPS)

        if self.state == S_GAME:

            Tile.create_tiles()

            bill = Character('Bill')
            bull = Character('Bull')

            functions.load_level(1)
            sound = pygame.mixer.Sound("audio/music.wav")
            sound.set_volume(.25)
            sound.play(-1)

            print Tile.MAP

            while self.state == S_GAME:
                self.state = functions.get_state()

                self.screen.blit(self.gamebackground, (0, 0))
                Tile.draw_tiles(self.screen)
                Character.update_characters(bill, bull)
                Character.draw_characters(self.screen)

                interaction(self.screen, bill, bull)

                bill.movement()
                bull.movement()

                pygame.display.flip()
                self.clock.tick(self.FPS)

        if self.state == S_ESC:
            pass
Example #6
0
def interaction(screen, survivor):

    Mpos = pygame.mouse.get_pos() # [x, y]
    Mx = Mpos[0] / Tile.width
    My = Mpos[1] / Tile.height

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

        if event.type == pygame.MOUSEBUTTONDOWN:
            for tile in Tile.List:
                if tile.x == (Mx * Tile.width) and tile.y == (My * Tile.width):
                    tile.type = 'solid'
                    tile.walkable = False
                    break

    keys = pygame.key.get_pressed()



    if keys[pygame.K_w]: # North
        future_tile_number = survivor.get_number() - Tile.V
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                # survivor.y -= survivor.height

    if keys[pygame.K_s]: # South
        future_tile_number = survivor.get_number() + Tile.V
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                # survivor.y += survivor.height

    if keys[pygame.K_a]: # West
        future_tile_number = survivor.get_number() - Tile.H

        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                # survivor.x -= survivor.width

    if keys[pygame.K_d]: # East
        future_tile_number = survivor.get_number() + Tile.H
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
Example #7
0
	def run(self):

		pygame.display.set_caption(self.caption)

		if self.state == S_MENU:
			
			play_button = Button('PLAY', Tile.screen_size[0] / 2 - self.button_size[0] / 2, 200, self.button_size[0], self.button_size[1], 'PLAY GAME')
			builder_button = Button('DEVELOP', Tile.screen_size[0] / 2 - self.button_size[0] / 2, 300, self.button_size[0], self.button_size[1], 'DEVELOP LEVEL')

			while self.state == S_MENU:
				self.state = functions.get_state()

				self.screen.blit(self.menubackground, (0,0))
				Button.draw_buttons(self.screen)
				menu_interaction(self.screen)

				pygame.display.flip()
				self.clock.tick(self.FPS)

		if self.state == S_GAME:

			Tile.create_tiles()

			bill = Character('Bill')
			bull = Character('Bull')

			functions.load_level(1)
			sound = pygame.mixer.Sound("audio/music.wav")
			sound.set_volume(.25)
			sound.play(-1)

			print Tile.MAP

			while self.state == S_GAME:
				self.state = functions.get_state()

				self.screen.blit(self.gamebackground, (0,0))
				Tile.draw_tiles(self.screen)
				Character.update_characters(bill, bull)
				Character.draw_characters(self.screen)

				interaction(self.screen, bill, bull)

				bill.movement()
				bull.movement()

				pygame.display.flip()
				self.clock.tick(self.FPS)


		if self.state == S_ESC:
			pass
Example #8
0
def load_level(level = 1): #SETS ALL LEVEL VARIABLES AND TILE TYPES ACCORDING TO LEVEL

    try:

        List = []
        Tile.moves = 0

        print 'Loading level {}...'.format(level)
        filename = 'level/level{}.csv'.format(level)

        levelfile = open(filename)
        csv_levelfile = csv.reader(levelfile)

        i = 0

        Tile.clear_map_dict()

        for row in csv_levelfile:
            if i == 0:
                Tile.MAP['level'] = int(row[0])
            elif i == 1:
                for element in row:
                    Tile.MAP['spawn'].append(int(element))
            elif i == 2:
                Tile.MAP['point'] = int(row[0])
            elif i == 3:
                for element in row:
                    Tile.MAP['holes'].append(int(element))
            elif i == 4:
                for element in row:
                    Tile.MAP['solids'].append(int(element))
            elif i == 5:
                i = 0

            i += 1

        for character in Character.List:
            character.tx, character.ty = None, None
            character.unnatural = False

        levelfile.close()
        Tile.retype()
        Character.respawn()


    except Exception, e:
        print 'Could not load level {}'.format(level)
        pygame.quit()
        sys.exit()
Example #9
0
def load_level(
        level=1):  #SETS ALL LEVEL VARIABLES AND TILE TYPES ACCORDING TO LEVEL

    try:

        List = []
        Tile.moves = 0

        print 'Loading level {}...'.format(level)
        filename = 'level/level{}.csv'.format(level)

        levelfile = open(filename)
        csv_levelfile = csv.reader(levelfile)

        i = 0

        Tile.clear_map_dict()

        for row in csv_levelfile:
            if i == 0:
                Tile.MAP['level'] = int(row[0])
            elif i == 1:
                for element in row:
                    Tile.MAP['spawn'].append(int(element))
            elif i == 2:
                Tile.MAP['point'] = int(row[0])
            elif i == 3:
                for element in row:
                    Tile.MAP['holes'].append(int(element))
            elif i == 4:
                for element in row:
                    Tile.MAP['solids'].append(int(element))
            elif i == 5:
                i = 0

            i += 1

        for character in Character.List:
            character.tx, character.ty = None, None
            character.unnatural = False

        levelfile.close()
        Tile.retype()
        Character.respawn()

    except Exception, e:
        print 'Could not load level {}'.format(level)
        pygame.quit()
        sys.exit()
Example #10
0
    def get_surrounding_tiles(base_node):
        
        array =(
            (base_node.number + N),
            (base_node.number + NE),
            (base_node.number + E),
            (base_node.number + SE),
            (base_node.number + S),
            (base_node.number + SW),
            (base_node.number + W),
            (base_node.number + NW),
            )

        tiles = []

        onn = base_node.number 
        diagonals = [onn + NE, onn + NW, onn + SE, onn + SW]
        for tile_number in array:

            surrounding_tile = Tile.get_tile(tile_number)
            
            if tile_number not in range(1, Tile.total_tiles + 1):
                continue

            if surrounding_tile.walkable and surrounding_tile not in closed_list:
                # tiles.append(surrounding_tile) # Diagonal movement
                tiles = blocky(tiles, diagonals, surrounding_tile)

        return tiles
Example #11
0
    def get_surrounding_tiles(base_node):

        array = (
            (base_node.number + N),
            (base_node.number + NE),
            (base_node.number + E),
            (base_node.number + SE),
            (base_node.number + S),
            (base_node.number + SW),
            (base_node.number + W),
            (base_node.number + NW),
        )

        tiles = []  #to add valid tiles

        onn = base_node.number
        diagonals = [onn + NE, onn + NW, onn + SE, onn + SW]

        for tile_number in array:

            surrounding_tile = Tile.get_tile(tile_number)

            if tile_number not in range(1, Tile.total_tiles + 1):
                continue

            if surrounding_tile.walkable and surrounding_tile not in closed_list:
                # tiles.append(surrounding_tile) # Diagonal movement
                tiles = blocky(tiles, diagonals, surrounding_tile)

        return tiles
Example #12
0
    def update_characters(bill, bull): #LOOKS FOR CHARACTERS FALLING IN HOLES OR STANDING ON MEETING POINT. IF loading_level IS TRUE, TELEPORTS CHARACTERS TO SPAWNING POINTS
        for character in Character.List:
            if Tile.get_tile(character.get_number()).type == 'hole':
                if Tile.get_tile(character.get_number()).x == character.x and Tile.get_tile(character.get_number()).y == character.y:
                    if not character.has_target():
                        Tile.freeze = True
                        functions.load_level(Tile.MAP['level'])

        if Tile.loading_level == True:
            Character.respawn(bill, bull)

            Tile.loading_level = False

        if bill.x == Tile.get_tile(Tile.MAP['point']).x and bill.y == Tile.get_tile(Tile.MAP['point']).y and not Character.on_point():
            bill.status = 'happy'
            bull.status = 'sad'

        elif bull.x == Tile.get_tile(Tile.MAP['point']).x and bull.y == Tile.get_tile(Tile.MAP['point']).y and not Character.on_point():
            bull.status = 'happy'
            bill.status = 'sad'

        elif Character.on_point():
            bill.status = 'happy'
            bull.status = 'happy'
            Tile.freeze = True
            functions.load_level(Tile.MAP['level'] + 1)

        else:
            bill.status = 'sad'
            bull.status = 'sad'
Example #13
0
    def update_characters(bill, bull): #LOOKS FOR CHARACTERS FALLING IN HOLES OR STANDING ON MEETING POINT.

        try:
            for character in Character.List:
                if Tile.get_tile(character.get_number()).type == 'hole':
                    if Tile.get_tile(character.get_number()).x == character.x and Tile.get_tile(character.get_number()).y == character.y:
                        if not character.has_target():
                            functions.load_level(Tile.MAP['level'])

            if bill.x == Tile.get_tile(Tile.MAP['point']).x and bill.y == Tile.get_tile(Tile.MAP['point']).y and not Character.on_point():
                bill.status = 'happy'
                bull.status = 'sad'

            elif bull.x == Tile.get_tile(Tile.MAP['point']).x and bull.y == Tile.get_tile(Tile.MAP['point']).y and not Character.on_point():
                bull.status = 'happy'
                bill.status = 'sad'

            elif Character.on_point():
                bill.status = 'happy'
                bull.status = 'happy'
                functions.load_level(Tile.MAP['level'] + 1)

            else:
                bill.status = 'sad'
                bull.status = 'sad'

        except Exception, e:
            functions.load_level(Tile.MAP['level'])
Example #14
0
def interaction(screen, survivor):

    Mpos = pygame.mouse.get_pos() # [x, y]
    Mx = Mpos[0] / Tile.width
    My = Mpos[1] / Tile.height

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

        if event.type == pygame.MOUSEBUTTONDOWN:
            for tile in Tile.List:
                if tile.x == (Mx * Tile.width) and tile.y == (My * Tile.width):
                    tile.type = 'solid'
                    tile.walkable = False
                    break

        if event.type == pygame.KEYDOWN:

            if event.key == pygame.K_w: # North
                future_tile_number = survivor.get_number() - Tile.V

                if Tile.get_tile(future_tile_number).walkable:
                    survivor.y -= survivor.height

            if event.key == pygame.K_s: # South
                future_tile_number = survivor.get_number() + Tile.V

                if Tile.get_tile(future_tile_number).walkable:
                    survivor.y += survivor.height

            if event.key == pygame.K_a: # West
                future_tile_number = survivor.get_number() - Tile.H

                if Tile.get_tile(future_tile_number).walkable:
                    survivor.x -= survivor.width

            if event.key == pygame.K_d: # East
                future_tile_number = survivor.get_number() + Tile.H

                if Tile.get_tile(future_tile_number).walkable:
                    survivor.x += survivor.width
Example #15
0
def interaction(screen, survivor):

    Mpos = pygame.mouse.get_pos()  # [x, y]
    Mx = Mpos[0] / Tile.width
    My = Mpos[1] / Tile.height

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

        if event.type == pygame.MOUSEBUTTONDOWN:
            for tile in Tile.List:
                if tile.x == (Mx * Tile.width) and tile.y == (My * Tile.width):
                    tile.type = 'solid'
                    tile.walkable = False
                    break

        if event.type == pygame.KEYDOWN:

            if event.key == pygame.K_w:  # North
                future_tile_number = survivor.get_number() - Tile.V

                if Tile.get_tile(future_tile_number).walkable:
                    survivor.y -= survivor.height

            if event.key == pygame.K_s:  # South
                future_tile_number = survivor.get_number() + Tile.V

                if Tile.get_tile(future_tile_number).walkable:
                    survivor.y += survivor.height

            if event.key == pygame.K_a:  # West
                future_tile_number = survivor.get_number() - Tile.H

                if Tile.get_tile(future_tile_number).walkable:
                    survivor.x -= survivor.width

            if event.key == pygame.K_d:  # East
                future_tile_number = survivor.get_number() + Tile.H

                if Tile.get_tile(future_tile_number).walkable:
                    survivor.x += survivor.width
Example #16
0
def player_input(screen,player):
	Mpos=pygame.mouse.get_pos() #[x,y]
	Mx=Mpos[0]//Tile.width
	My=Mpos[1]//Tile.height
	#print("Mx="+str(Mx)+" My="+str(My))
    #for all events check for terminate
	for event in pygame.event.get():

		if event.type == pygame.QUIT:
			pygame.quit()
			sys.exit()

		if event.type == pygame.MOUSEBUTTONDOWN:
			#toggle tile solid/empty
			for tile in Tile.List:
				if tile.x==(Mx*Tile.width) and tile.y==(My*Tile.height):
					if tile.type=='empty':
						tile.type='solid'
						tile.walkable=False
					else:
						tile.type='empty'
						tile.walkable=True
					break

		if event.type == pygame.KEYDOWN:
			if event.key==pygame.K_w: #North
				future_tile_number=player.get_number()-Tile.V
				if Tile.get_tile(future_tile_number).walkable:
					player.y-=player.height
			if event.key==pygame.K_s: #South
				future_tile_number=player.get_number()+Tile.V
				if Tile.get_tile(future_tile_number).walkable:
					player.y+=player.height
			if event.key==pygame.K_a: #West
				future_tile_number=player.get_number()-Tile.H
				if Tile.get_tile(future_tile_number).walkable:
					player.x-=player.width
			if event.key==pygame.K_d: #East
				future_tile_number=player.get_number()+Tile.H
				if Tile.get_tile(future_tile_number).walkable:
					player.x+=player.width
Example #17
0
 def spawn(total_frames, FPS):
     if total_frames % (2*FPS)  == 0:
         if total_frames %(6*FPS)==0:
             r=randint(0,2)
             sounds=[pygame.mixer.Sound('Audio/zs1.ogg'),pygame.mixer.Sound('Audio/zs2.ogg'),
             pygame.mixer.Sound('Audio/zs3.ogg')]
             sound=sounds[r]
             sound.play()
         r = randint(0, len(Zombie.spawn_tiles) - 1)
         tile_num = Zombie.spawn_tiles[r]
         spawn_node = Tile.get_tile(tile_num)
         Zombie(spawn_node.x, spawn_node.y)
Example #18
0
 def spawn(totalFrames, FPS):
     if totalFrames % (FPS) == 0:
         if totalFrames % (FPS * 6) == 0:    
             r = randint(0,2)
             sound = [pygame.mixer.Sound('Audio/zs1.ogg'),
                     pygame.mixer.Sound('Audio/zs2.ogg'),
                     pygame.mixer.Sound('Audio/zs3.ogg')]
             sound = sound[ r ]
             sound.play()
         r = randint(0, len(Zombie.d) - 1)
         tile_num = Zombie.d[r]
         spawnNode = Tile.getTile(tile_num)
         Zombie(spawnNode.x, spawnNode.y)
Example #19
0
 def spawn(total_frames, FPS):
     if total_frames % (FPS) == 0:
         if total_frames % (FPS) == 0:
             r = randint(0, 2)
             sounds = [
                 pygame.mixer.Sound('audio/zs1.ogg'),
                 pygame.mixer.Sound('audio/zs2.ogg'),
                 pygame.mixer.Sound('audio/zs3.ogg')
             ]
             sound = sounds[r]
             sound.play()
         r = randint(0, len(Zombie.spawn_tiles) - 1)
         tile_num = Zombie.spawn_tiles[r]
         spawn_node = Tile.get_tile(tile_num)
         Zombie(spawn_node.x, spawn_node.y)
Example #20
0
def draw_tiles(screen):
    for tile in Tile.List:
        pygame.draw.aaline(screen, (100, 100, 100), (tile.x, tile.y),
                           (tile.x, tile.y + Tile.height))
        pygame.draw.aaline(screen, (100, 100, 100),
                           (tile.x, tile.y + Tile.height),
                           (tile.x + Tile.width, tile.y + Tile.height))
        if (tile.walkable):
            if tile.number < Tile.total_tiles - Tile.V:
                tile_below = Tile.get_tile(tile.number + Tile.V)
                if (tile_below.walkable):
                    if tile.type == 'point':
                        screen.blit(Tile.point_block, (tile))
                    elif tile.type == 'hole':
                        screen.blit(Tile.hole_block, (tile))
                    elif tile.type == 'spawnbill':
                        screen.blit(Tile.bill_spawn, (tile))
                    elif tile.type == 'spawnbull':
                        screen.blit(Tile.bull_spawn, (tile))
                    else:
                        screen.blit(Tile.solid_block, (tile))
                else:
                    if tile.type == 'point':
                        screen.blit(Tile.point_block_edge, (tile))
                    elif tile.type == 'hole':
                        screen.blit(Tile.hole_block_edge, (tile))
                    elif tile.type == 'spawnbill':
                        screen.blit(Tile.bill_spawn, (tile))
                    elif tile.type == 'spawnbull':
                        screen.blit(Tile.bull_spawn, (tile))
                    else:
                        screen.blit(Tile.solid_block_edge, (tile))

    for tile in Tile.List:  #SETS NEW TILE TYPES. SAME AS IN Tile.create_tiles FUNCTION, JUST REFRESHING FOR NEW MAP

        if tile.number in Tile.MAP['solids']:
            tile.type = 'solid'
        elif tile.number == Tile.MAP['point']:
            tile.type = 'point'
        elif tile.number in Tile.MAP['holes']:
            tile.type = 'hole'
        else:
            tile.type = 'empty'

        if tile.type == 'empty':
            tile.walkable = False
        else:
            tile.walkable = True
 def spawn(total_frames, FPS):
     if total_frames % (FPS) == 0: 
         if total_frames % (FPS * 48) == 0: # higher the multiplying value to slow the zombie spawn rate
             
             r  = randint(0, 2)
             sounds = [pygame.mixer.Sound('audio/zs1.ogg'),
                       pygame.mixer.Sound('audio/zs2.ogg'),
                       pygame.mixer.Sound('audio/zs2.ogg')
                       ]
             sounds = sounds[r]
             sounds.play()
         
             r = randint(0, len(Zombie.spawn_tiles) - 1) # pick a randon spawn tile
             tile_num = Zombie.spawn_tiles[r]
             spawn_node = Tile.get_tile(tile_num)
             Zombie(spawn_node.x, spawn_node.y)
Example #22
0
def draw_tiles(screen):
    for tile in Tile.List:
        pygame.draw.aaline(screen, (100, 100, 100), (tile.x, tile.y), (tile.x, tile.y + Tile.height))
        pygame.draw.aaline(
            screen, (100, 100, 100), (tile.x, tile.y + Tile.height), (tile.x + Tile.width, tile.y + Tile.height)
        )
        if tile.walkable:
            if tile.number < Tile.total_tiles - Tile.V:
                tile_below = Tile.get_tile(tile.number + Tile.V)
                if tile_below.walkable:
                    if tile.type == "point":
                        screen.blit(Tile.point_block, (tile))
                    elif tile.type == "hole":
                        screen.blit(Tile.hole_block, (tile))
                    elif tile.type == "spawnbill":
                        screen.blit(Tile.bill_spawn, (tile))
                    elif tile.type == "spawnbull":
                        screen.blit(Tile.bull_spawn, (tile))
                    else:
                        screen.blit(Tile.solid_block, (tile))
                else:
                    if tile.type == "point":
                        screen.blit(Tile.point_block_edge, (tile))
                    elif tile.type == "hole":
                        screen.blit(Tile.hole_block_edge, (tile))
                    elif tile.type == "spawnbill":
                        screen.blit(Tile.bill_spawn, (tile))
                    elif tile.type == "spawnbull":
                        screen.blit(Tile.bull_spawn, (tile))
                    else:
                        screen.blit(Tile.solid_block_edge, (tile))

    for tile in Tile.List:  # SETS NEW TILE TYPES. SAME AS IN Tile.create_tiles FUNCTION, JUST REFRESHING FOR NEW MAP

        if tile.number in Tile.MAP["solids"]:
            tile.type = "solid"
        elif tile.number == Tile.MAP["point"]:
            tile.type = "point"
        elif tile.number in Tile.MAP["holes"]:
            tile.type = "hole"
        else:
            tile.type = "empty"

        if tile.type == "empty":
            tile.walkable = False
        else:
            tile.walkable = True
Example #23
0
	def get_surrounding_tiles(parent_tile):
		surrounding_tile_numbers=(
		parent_tile.number+N,
		parent_tile.number+S,
		parent_tile.number+E,
		parent_tile.number+W,
		parent_tile.number+NW,
		parent_tile.number+NE,
		parent_tile.number+SW,
		parent_tile.number+SE)
		#print(surrounding_tile_numbers)
		tiles=[]
		pnum=parent_tile.number
		diagonals=[pnum+NE,pnum+NW,pnum+SE,pnum+SW]
		for tile_number in surrounding_tile_numbers:
			surrounding_tile=Tile.get_tile(tile_number)
			if surrounding_tile.walkable and surrounding_tile not in closed_list:
				#tiles.append(surrounding_tile) #consider diagonal directions
				blocky(tiles,diagonals,surrounding_tile)
		return tiles
Example #24
0
    def get_surrounding_tiles(base_node):
        array = (
            (base_node.number + N),
            (base_node.number + NE),
            (base_node.number + E),
            (base_node.number + SE),
            (base_node.number + S),
            (base_node.number + SW),
            (base_node.number + W),
            (base_node.number + NW),
        )

        # print array

        tiles = []  # all valid tiles

        for tile_number in array:
            surrounding_tile = Tile.get_tile(tile_number)

            if surrounding_tile.walkable and surrounding_tile not in closed_list:
                tiles.append(surrounding_tile)

        return tiles
Example #25
0
	def get_surrounding_tiles(parent_tile):
		surrounding_tile_numbers=(
		parent_tile.number+N,
		parent_tile.number+S,
		parent_tile.number+E,
		parent_tile.number+W,
		parent_tile.number+NW,
		parent_tile.number+NE,
		parent_tile.number+SW,
		parent_tile.number+SE)
		#print(surrounding_tile_numbers)
		tiles=[]
		pnum=parent_tile.number
		diagonals=[pnum+NE,pnum+NW,pnum+SE,pnum+SW]
		for tile_number in surrounding_tile_numbers:
			surrounding_tile=Tile.get_tile(tile_number)
			#prevent out-of-bounds path finding
			if tile_number not in range(1,Tile.total_tiles+1):
				continue
			if surrounding_tile.walkable and surrounding_tile not in closed_list:
				#tiles.append(surrounding_tile) #consider diagonal directions
				blocky(tiles,diagonals,surrounding_tile)
		return tiles
Example #26
0
    def get_surrounding_tiles(base_node):
        array = (
            (base_node.number + N),
            (base_node.number + NE),
            (base_node.number + E),
            (base_node.number + SE),
            (base_node.number + S),
            (base_node.number + SW),
            (base_node.number + W),
            (base_node.number + NW),
        )

        # print array

        tiles = [] # all valid tiles

        for tile_number in array:
            surrounding_tile = Tile.get_tile(tile_number)

            if surrounding_tile.walkable and surrounding_tile not in closed_list:
                tiles.append(surrounding_tile)

        return tiles
Example #27
0
    def update_characters(
        bill, bull
    ):  #LOOKS FOR CHARACTERS FALLING IN HOLES OR STANDING ON MEETING POINT.

        try:
            for character in Character.List:
                if Tile.get_tile(character.get_number()).type == 'hole':
                    if Tile.get_tile(character.get_number(
                    )).x == character.x and Tile.get_tile(
                            character.get_number()).y == character.y:
                        if not character.has_target():
                            functions.load_level(Tile.MAP['level'])

            if bill.x == Tile.get_tile(
                    Tile.MAP['point']).x and bill.y == Tile.get_tile(
                        Tile.MAP['point']).y and not Character.on_point():
                bill.status = 'happy'
                bull.status = 'sad'

            elif bull.x == Tile.get_tile(
                    Tile.MAP['point']).x and bull.y == Tile.get_tile(
                        Tile.MAP['point']).y and not Character.on_point():
                bull.status = 'happy'
                bill.status = 'sad'

            elif Character.on_point():
                bill.status = 'happy'
                bull.status = 'happy'
                functions.load_level(Tile.MAP['level'] + 1)

            else:
                bill.status = 'sad'
                bull.status = 'sad'

        except Exception, e:
            functions.load_level(Tile.MAP['level'])
Example #28
0
def interaction(screen, bill, bull):

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    keys = pygame.key.get_pressed()

    #WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    if keys[pygame.
            K_w] and not bill.has_target() and not bull.has_target():  # North

        future_tile_number_bill = bill.get_number() - Tile.V
        future_tile_number_bull = bull.get_number() - Tile.V

        if future_tile_number_bill and future_tile_number_bull in range(
                1, Tile.total_tiles + 1):

            if future_tile_number_bull == Tile.MAP[
                    'point'] and not Tile.get_tile(
                        future_tile_number_bill).walkable:
                bull.set_target(Tile.get_tile(future_tile_number_bull))

            if future_tile_number_bill != bull.get_number():
                if Tile.get_tile(future_tile_number_bill).walkable:
                    bill.set_target(Tile.get_tile(future_tile_number_bill))

            if future_tile_number_bull != bill.get_number():
                if Tile.get_tile(future_tile_number_bull).walkable:
                    bull.set_target(Tile.get_tile(future_tile_number_bull))

#SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

    if keys[pygame.
            K_s] and not bill.has_target() and not bull.has_target():  # South

        future_tile_number_bill = bill.get_number() + Tile.V
        future_tile_number_bull = bull.get_number() + Tile.V

        if future_tile_number_bill and future_tile_number_bull in range(
                1, Tile.total_tiles + 1):

            if future_tile_number_bull == Tile.MAP[
                    'point'] and not Tile.get_tile(
                        future_tile_number_bill).walkable:
                bull.set_target(Tile.get_tile(future_tile_number_bull))

            if future_tile_number_bill != bull.get_number():
                if Tile.get_tile(future_tile_number_bill).walkable:
                    bill.set_target(Tile.get_tile(future_tile_number_bill))

            if future_tile_number_bull != bill.get_number():
                if Tile.get_tile(future_tile_number_bull).walkable:
                    bull.set_target(Tile.get_tile(future_tile_number_bull))

#AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    if keys[pygame.
            K_a] and not bill.has_target() and not bull.has_target():  # West

        future_tile_number_bill = bill.get_number() - Tile.H
        future_tile_number_bull = bull.get_number() - Tile.H

        if future_tile_number_bill and future_tile_number_bull in range(
                1, Tile.total_tiles + 1):

            if future_tile_number_bull == Tile.MAP[
                    'point'] and not Tile.get_tile(
                        future_tile_number_bill).walkable:
                bull.set_target(Tile.get_tile(future_tile_number_bull))

            if future_tile_number_bill != bull.get_number():
                if Tile.get_tile(future_tile_number_bill).walkable:
                    bill.set_target(Tile.get_tile(future_tile_number_bill))

            if future_tile_number_bull != bill.get_number():
                if Tile.get_tile(future_tile_number_bull).walkable:
                    bull.set_target(Tile.get_tile(future_tile_number_bull))

#DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

    if keys[pygame.
            K_d] and not bill.has_target() and not bull.has_target():  # East

        future_tile_number_bill = bill.get_number() + Tile.H
        future_tile_number_bull = bull.get_number() + Tile.H

        if future_tile_number_bill and future_tile_number_bull in range(
                1, Tile.total_tiles + 1):

            if future_tile_number_bull == Tile.MAP[
                    'point'] and not Tile.get_tile(
                        future_tile_number_bill).walkable:
                bull.set_target(Tile.get_tile(future_tile_number_bull))

            if future_tile_number_bill != bull.get_number():
                if Tile.get_tile(future_tile_number_bill).walkable:
                    bill.set_target(Tile.get_tile(future_tile_number_bill))

            if future_tile_number_bull != bill.get_number():
                if Tile.get_tile(future_tile_number_bull).walkable:
                    bull.set_target(Tile.get_tile(future_tile_number_bull))
Example #29
0
def interaction(screen, survivor):


    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

        if event.type == pygame.KEYDOWN:

            if event.key == pygame.K_e:
                survivor.current += 1
                survivor.current %= 3
                #always remains 0-2


    keys = pygame.key.get_pressed()



    if keys[pygame.K_w]: # North
        futureTileNumber = survivor.getNumber() - Tile.V
        if futureTileNumber in range(1, Tile.totalTiles + 1):
            futureTile = Tile.getTile(futureTileNumber)
            if futureTile.walkable:
                survivor.setTarget(futureTile)
                survivor.rotate('n')
                # survivor.y -= survivor.height                   

    if keys[pygame.K_s]: # South
        futureTileNumber = survivor.getNumber() + Tile.V
        if futureTileNumber in range(1, Tile.totalTiles + 1):
            futureTile = Tile.getTile(futureTileNumber)
            if futureTile.walkable:
                survivor.setTarget(futureTile)
                survivor.rotate('s')
                # survivor.y += survivor.height 

    if keys[pygame.K_a]: # West
        futureTileNumber = survivor.getNumber() - Tile.H

        if futureTileNumber in range(1, Tile.totalTiles + 1):
            futureTile = Tile.getTile(futureTileNumber)    
            if futureTile.walkable:
                survivor.setTarget(futureTile)
                survivor.rotate('w')
                # survivor.x -= survivor.width 

    if keys[pygame.K_d]: # East
        futureTileNumber = survivor.getNumber() + Tile.H
        if futureTileNumber in range(1, Tile.totalTiles + 1):
            futureTile = Tile.getTile(futureTileNumber)
            if futureTile.walkable:
                survivor.setTarget(futureTile)
                survivor.rotate('e')
                # survivor.x += survivor.width 

    if keys[pygame.K_LEFT]:
        survivor.rotate('w') #rorate west
        Bullet(survivor.centerx,survivor.centery, -10,0,'w',survivor.getBulletType())

    elif keys[pygame.K_RIGHT]:
        survivor.rotate('e')
        Bullet(survivor.centerx,survivor.centery, 10,0,'e',survivor.getBulletType())


    elif keys[pygame.K_UP]:
        survivor.rotate('n')
        Bullet(survivor.centerx,survivor.centery, 0,-10,'n',survivor.getBulletType())


    elif keys[pygame.K_DOWN]:
        survivor.rotate('s')
        Bullet(survivor.centerx,survivor.centery, 0,10,'s',survivor.getBulletType())
Example #30
0
def interaction(screen, survivor):

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        # if a key is pressed
        if event.type == pygame.KEYDOWN:

            if event.key == pygame.K_e:

                survivor.current += 1
                survivor.current %= 3

    keys = pygame.key.get_pressed()

    if keys[pygame.K_w]:  # North
        future_tile_number = survivor.get_number() - Tile.V
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('n')
                # survivor.y -= survivor.height               

    if keys[pygame.K_s]: # South
        future_tile_number = survivor.get_number() + Tile.V
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('s')
                # survivor.y += survivor.height

    if keys[pygame.K_a]:   # West
        future_tile_number = survivor.get_number() - Tile.H

        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('w')
                # survivor.x -= survivor.width

    if keys[pygame.K_d]:   # East
        future_tile_number = survivor.get_number() + Tile.H
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('e')
                # survivor.x += survivor.width

    if keys[pygame.K_LEFT]:
        survivor.rotate('w')
        Bullet(survivor.centerx, survivor.centery, -10, 0, 'w', survivor.get_bullet_type())

    elif keys[pygame.K_RIGHT]:
        survivor.rotate('e')
        Bullet(survivor.centerx, survivor.centery, 10, 0, 'e', survivor.get_bullet_type())
    
    elif keys[pygame.K_UP]:
        survivor.rotate('n')
        Bullet(survivor.centerx, survivor.centery, 0, -10, 'n', survivor.get_bullet_type())
    
    elif keys[pygame.K_DOWN]:
        survivor.rotate('s')
        Bullet(survivor.centerx, survivor.centery, 0, 10, 's', survivor.get_bullet_type())
Example #31
0
def interaction(screen, survivor):

    Mpos = pygame.mouse.get_pos() # [x, y] 
    Mx = Mpos[0] / Tile.width
    My = Mpos[1] / Tile.height

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

        if event.type == pygame.MOUSEBUTTONDOWN:
            for tile in Tile.List:
                if tile.x == (Mx * Tile.width) and tile.y == (My * Tile.width):
                    tile.type = 'solid'
                    tile.walkable = False
                    break
        if event.type == pygame.KEYDOWN:
            if event.key==pygame.K_e:
                survivor.current+=1
                survivor.current%=3

    keys=pygame.key.get_pressed()  
    if  keys[pygame.K_UP]: # North
        future_tile_number = survivor.get_number() - Tile.V
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile=Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                        # survivor.y -= survivor.height
                            
                survivor.set_target(future_tile)
                survivor.rotate('n')                   

    if keys[pygame.K_DOWN]: # South
        future_tile_number = survivor.get_number() + Tile.V
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile=Tile.get_tile(future_tile_number)

            if future_tile.walkable:
                
                survivor.set_target(future_tile)
                survivor.rotate('s')
                        # survivor.y += survivor.height


    if keys[pygame.K_LEFT]: # West
        future_tile_number = survivor.get_number() - Tile.H

        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile=Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                
                survivor.set_target(future_tile)
                survivor.rotate('w')
                        # survivor.x -= survivor.width 
    if keys[pygame.K_RIGHT]: # East
        future_tile_number = survivor.get_number() + Tile.H

        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile=Tile.get_tile(future_tile_number)
            if future_tile.walkable:

                survivor.set_target(future_tile)
                survivor.rotate('e')
                        # survivor.x += survivor.width
    if keys[pygame.K_w]:
        
        survivor.rotate('n')
        Bullet(survivor.centerx,survivor.centery,0,-10,'n',survivor.get_bullet_type())

    elif keys[pygame.K_a]:
        survivor.rotate('w')
        Bullet(survivor.centerx,survivor.centery,-10,0,'w',survivor.get_bullet_type())
    elif keys[pygame.K_s]:
        survivor.rotate('s')
        Bullet(survivor.centerx,survivor.centery,0,10,'s',survivor.get_bullet_type())
    elif keys[pygame.K_d]:
        survivor.rotate('e')
        Bullet(survivor.centerx,survivor.centery,10,0,'e',survivor.get_bullet_type())
Example #32
0
def build_controls(screen):

    Mpos = pygame.mouse.get_pos()  # [x, y]
    Mx = Mpos[0] / Tile.width
    My = Mpos[1] / Tile.height
    LEFT = 1
    MIDDLE = 2
    RIGHT = 3

    block_type = block_default.get()

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            print Tile.MAP
            pygame.quit()
            sys.exit()

        if event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == LEFT:
                for tile in Tile.List:
                    if tile.x == (Mx * Tile.width) and tile.y == (My *
                                                                  Tile.width):

                        print 'Trying to create {} block on tile: {}'.format(
                            block_type, tile.number)

                        if block_type == 'solid':
                            if tile.type == 'empty':
                                Tile.MAP['solids'].append(tile.number)
                            elif tile.number == Tile.MAP['point']:
                                tile.MAP['point'] = 0
                            elif tile.number in Tile.MAP['holes']:
                                Tile.MAP['holes'].remove(tile.number)

                        elif block_type == 'point':
                            if tile.type == 'empty':
                                if Tile.get_tile(
                                        Tile.MAP['point']) in Tile.List:
                                    Tile.get_tile(
                                        Tile.MAP['point']).type = 'empty'
                                    Tile.get_tile(
                                        Tile.MAP['point']).walkable = False
                                Tile.MAP['point'] = tile.number
                            if tile.number in Tile.MAP['solids']:
                                if Tile.get_tile(
                                        Tile.MAP['point']) in Tile.List:
                                    Tile.get_tile(
                                        Tile.MAP['point']).type = 'empty'
                                    Tile.get_tile(
                                        Tile.MAP['point']).walkable = False
                                Tile.MAP['point'] = tile.number
                                Tile.MAP['solids'].remove(tile.number)
                            elif tile.number in Tile.MAP['holes']:
                                if Tile.get_tile(
                                        Tile.MAP['point']) in Tile.List:
                                    Tile.get_tile(
                                        Tile.MAP['point']).type = 'empty'
                                    Tile.get_tile(
                                        Tile.MAP['point']).walkable = False
                                Tile.MAP['point'] = tile.number
                                Tile.MAP['holes'].remove(tile.number)

                        elif block_type == 'hole':
                            if tile.type == 'empty':
                                Tile.MAP['holes'].append(tile.number)
                            if tile.number in Tile.MAP['solids']:
                                Tile.MAP['solids'].remove(tile.number)
                            elif tile.number == Tile.MAP['point']:
                                Tile.MAP['point'] = 0

                        elif block_type == 'spawnbill':
                            elements = 0
                            for i in range(0, Tile.total_tiles + 1):
                                if i in Tile.MAP['spawn']:
                                    elements += 1

                            if elements == 1:
                                Tile.MAP['spawn'].append(1)
                            elif elements > 2 or elements == 0:
                                Tile.MAP['spawn'] = [1, 1]

                            if tile.type == 'empty':
                                if Tile.get_tile(
                                        Tile.MAP['spawn'][0]) in Tile.List:
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][0]).type = 'empty'
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][0]).walkable = False
                                Tile.MAP['spawn'][0] = tile.number

                            if tile.number in Tile.MAP['solids']:
                                if Tile.get_tile(
                                        Tile.MAP['spawn'][0]) in Tile.List:
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][0]).type = 'empty'
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][0]).walkable = False
                                Tile.MAP['spawn'][0] = tile.number

                            elif tile.number in Tile.MAP['holes']:
                                if Tile.get_tile(
                                        Tile.MAP['spawn'][0]) in Tile.List:
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][0]).type = 'empty'
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][0]).walkable = False
                                Tile.MAP['spawn'][0] = tile.number
                                Tile.MAP['holes'].remove(tile.number)

                        elif block_type == 'spawnbull':
                            elements = 0
                            for i in range(0, Tile.total_tiles + 1):
                                if i in Tile.MAP['spawn']:
                                    elements += 1
                            if elements == 1:
                                Tile.MAP['spawn'].append(1)
                            elif elements > 2 or elements == 0:
                                Tile.MAP['spawn'] = [1, 1]

                            if tile.type == 'empty':
                                if Tile.get_tile(
                                        Tile.MAP['spawn'][1]) in Tile.List:
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][1]).type = 'empty'
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][1]).walkable = False
                                Tile.MAP['spawn'][1] = tile.number

                            if tile.number in Tile.MAP['solids']:
                                if Tile.get_tile(
                                        Tile.MAP['spawn'][1]) in Tile.List:
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][1]).type = 'empty'
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][1]).walkable = False
                                Tile.MAP['spawn'][1] = tile.number

                            elif tile.number in Tile.MAP['holes']:
                                if Tile.get_tile(
                                        Tile.MAP['spawn'][1]) in Tile.List:
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][1]).type = 'empty'
                                    Tile.get_tile(
                                        Tile.MAP['spawn'][1]).walkable = False
                                Tile.MAP['spawn'][1] = tile.number
                                Tile.MAP['holes'].remove(tile.number)

                        tile.type = block_type
                        tile.walkable = True

                        if Tile.get_tile(tile.number).type == block_type:
                            print 'Success!'
                        else:
                            print 'Failed.'

            elif event.button == RIGHT:
                for tile in Tile.List:
                    if tile.x == (Mx * Tile.width) and tile.y == (My *
                                                                  Tile.width):

                        i = 0

                        if tile.type == 'empty':
                            print 'Tile is already empty.'
                        else:
                            print 'Trying to remove {} block from tile: {}'.format(
                                tile.type, tile.number)
                            i = 1

                        if tile.type == 'point':
                            Tile.MAP['point'] = 0
                        else:
                            if tile.number in Tile.MAP['solids']:
                                Tile.MAP['solids'].remove(tile.number)
                            elif tile.number in Tile.MAP['holes']:
                                Tile.MAP['holes'].remove(tile.number)
                            elif tile.number in Tile.MAP['spawn']:
                                Tile.MAP['spawn'].remove(tile.number)

                        tile.type = 'empty'
                        tile.walkable = False

                        if tile.type == 'empty' and i == 1:
                            print 'Sucess!'
                        else:
                            print 'Failed.'
Example #33
0
    def get_tile(self):

        return Tile.get_tile(self.get_number())
Example #34
0
import pygame, develop, functions
from tileC import Tile
from object_classes import Character
from interaction import interaction

pygame.init()

screen = pygame.display.set_mode(Tile.screen_size)
pygame.display.set_caption("PointBlocks Level Builder v1.2")
clock = pygame.time.Clock()
FPS = 60

Tile.create_tiles()

bill = Character('Bill')
bull = Character('Bull')

while True:
	screen.fill((200,200,200))
	develop.draw_tiles(screen)
	develop.show_inter_window()
	#develop.show_info(screen)

	if develop.testing == True:

		try:
			Character.update_characters(bill, bull)
			Character.draw_characters(screen)

			interaction(screen, bill, bull)
Example #35
0
pygame.init()
pygame.font.init()

invalids = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
            19, 37, 55, 73, 91, 109, 127, 145, 163, 181,
            182, 183, 184, 185, 186, 187, 188, 189, 190,
            191, 192, 193, 194, 195, 196, 197, 198,
            36, 54, 72, 90, 108, 126, 144, 162, 180, 198)

screen = pygame.display.set_mode((720, 440))

for y in range(0, screen.get_height(), 40):
    for x in range(0, screen.get_width(), 40):
        if Tile.total_tiles in invalids:
            Tile(x, y, 'solid')
        else:
            Tile(x, y, 'empty')

clock = pygame.time.Clock()
FPS = 24
total_frames = 0

zombie1 = Zombie(200, 240)
survivor = Survivor(400, 120)

while True:
    screen.fill([0, 0, 0])
    A_Star(screen, survivor)
    interaction(screen, survivor)
    Tile.draw_tiles(screen)
Example #36
0
def player_input(screen,player):
	Mpos=pygame.mouse.get_pos() #[x,y]
	Mx=Mpos[0]//Tile.width
	My=Mpos[1]//Tile.height
	#print("Mx="+str(Mx)+" My="+str(My))
    #for all events check for terminate
	for event in pygame.event.get():

		if event.type == pygame.QUIT:
			pygame.quit()
			sys.exit()

		#Wall Creation & Removal
		if event.type == pygame.MOUSEBUTTONDOWN:
			#toggle tile solid/empty
			for tile in Tile.List:
				if tile.x==(Mx*Tile.width) and tile.y==(My*Tile.height):
					if tile.type=='empty':
						tile.type='solid'
						tile.walkable=False
					else:
						tile.type='empty'
						tile.walkable=True
					break

		#Player Weapon Selection
		if event.type==pygame.KEYDOWN:
			if event.key==pygame.K_e:
				player.gun=(player.gun+1)%3 #gun 0,1,2,0,1,2

	#Player Movement
	# if event.type == pygame.KEYDOWN:
	keys=pygame.key.get_pressed()
	if keys[pygame.K_w]: #North
		future_tile_number=player.get_number()-Tile.V
		if future_tile_number in range(1,Tile.total_tiles+1):
			future_tile=Tile.get_tile(future_tile_number)
			if future_tile.walkable:
				player.set_target(future_tile)
				player.rotate('n')
				# player.y-=player.height
	if keys[pygame.K_s]: #South
		future_tile_number=player.get_number()+Tile.V
		if future_tile_number in range(1,Tile.total_tiles+1):
			future_tile=Tile.get_tile(future_tile_number)
			if future_tile.walkable:
				player.set_target(future_tile)
				player.rotate('s')
				# player.y+=player.height
	if keys[pygame.K_a]: #West
		future_tile_number=player.get_number()-Tile.H
		if future_tile_number in range(1,Tile.total_tiles+1):
			future_tile=Tile.get_tile(future_tile_number)
			if future_tile.walkable:
				player.set_target(future_tile)
				player.rotate('w')
				# player.x-=player.width
	if keys[pygame.K_d]: #East
		future_tile_number=player.get_number()+Tile.H
		if future_tile_number in range(1,Tile.total_tiles+1):
			# print("Out of bounds",future_tile_number,Tile.get_tile(future_tile_number))
			future_tile=Tile.get_tile(future_tile_number)
			if future_tile.walkable:
				player.set_target(future_tile)
				player.rotate('e')
				# player.x+=player.width
	
	#Player Rotation
	if keys[pygame.K_LEFT]:
		player.rotate('w')
		Projectile(player.centerx,player.centery,-10,0,'w',player.get_bullet_type())
	elif keys[pygame.K_RIGHT]:
		player.rotate('e')
		Projectile(player.centerx,player.centery,10,0,'e',player.get_bullet_type())
	elif keys[pygame.K_UP]:
		player.rotate('n')
		Projectile(player.centerx,player.centery,0,-10,'n',player.get_bullet_type())
	elif keys[pygame.K_DOWN]:
		player.rotate('s')
		Projectile(player.centerx,player.centery,0,10,'s',player.get_bullet_type())
Example #37
0
 def spawn(total_frames, FPS):
     if total_frames % (FPS * 3) == 0:
         r = randint(0, len(Zombie.spawn_tiles) - 1)
         tile_num = Zombie.spawn_tiles[r]
         spawn_node = Tile.get_tile(tile_num)
         Zombie(spawn_node.x, spawn_node.y)
Example #38
0
def interaction(screen, bill, bull):

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    keys = pygame.key.get_pressed()

#WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

    if keys[pygame.K_w] and not bill.has_target() and not bull.has_target(): # North

        future_tile_number_bill = bill.get_number() - Tile.V
        future_tile_number_bull = bull.get_number() - Tile.V

        if future_tile_number_bill and future_tile_number_bull in range(1, Tile.total_tiles + 1):

                if future_tile_number_bull == Tile.MAP['point'] and not Tile.get_tile(future_tile_number_bill).walkable:
                    bull.set_target(Tile.get_tile(future_tile_number_bull))

                if future_tile_number_bill != bull.get_number():
                    if Tile.get_tile(future_tile_number_bill).walkable:
                        bill.set_target(Tile.get_tile(future_tile_number_bill))

                if future_tile_number_bull != bill.get_number():
                    if Tile.get_tile(future_tile_number_bull).walkable:
                        bull.set_target(Tile.get_tile(future_tile_number_bull))


#SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

    if keys[pygame.K_s] and not bill.has_target() and not bull.has_target(): # South

        future_tile_number_bill = bill.get_number() + Tile.V
        future_tile_number_bull = bull.get_number() + Tile.V

        if future_tile_number_bill and future_tile_number_bull in range(1, Tile.total_tiles + 1):

            if future_tile_number_bull == Tile.MAP['point'] and not Tile.get_tile(future_tile_number_bill).walkable:
                bull.set_target(Tile.get_tile(future_tile_number_bull))

            if future_tile_number_bill != bull.get_number():
                if Tile.get_tile(future_tile_number_bill).walkable:
                    bill.set_target(Tile.get_tile(future_tile_number_bill))

            if future_tile_number_bull != bill.get_number():
                if Tile.get_tile(future_tile_number_bull).walkable:
                    bull.set_target(Tile.get_tile(future_tile_number_bull))

#AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    if keys[pygame.K_a] and not bill.has_target() and not bull.has_target(): # West

        future_tile_number_bill = bill.get_number() - Tile.H
        future_tile_number_bull = bull.get_number() - Tile.H

        if future_tile_number_bill and future_tile_number_bull in range(1, Tile.total_tiles + 1):

            if future_tile_number_bull == Tile.MAP['point'] and not Tile.get_tile(future_tile_number_bill).walkable:
                bull.set_target(Tile.get_tile(future_tile_number_bull))

            if future_tile_number_bill != bull.get_number():
                if Tile.get_tile(future_tile_number_bill).walkable:
                    bill.set_target(Tile.get_tile(future_tile_number_bill))

            if future_tile_number_bull != bill.get_number():
                if Tile.get_tile(future_tile_number_bull).walkable:
                    bull.set_target(Tile.get_tile(future_tile_number_bull))

#DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

    if keys[pygame.K_d] and not bill.has_target() and not bull.has_target(): # East

        future_tile_number_bill = bill.get_number() + Tile.H
        future_tile_number_bull = bull.get_number() + Tile.H

        if future_tile_number_bill and future_tile_number_bull in range(1, Tile.total_tiles + 1):

            if future_tile_number_bull == Tile.MAP['point'] and not Tile.get_tile(future_tile_number_bill).walkable:
                bull.set_target(Tile.get_tile(future_tile_number_bull))

            if future_tile_number_bill != bull.get_number():
                if Tile.get_tile(future_tile_number_bill).walkable:
                    bill.set_target(Tile.get_tile(future_tile_number_bill))

            if future_tile_number_bull != bill.get_number():
                if Tile.get_tile(future_tile_number_bull).walkable:
                    bull.set_target(Tile.get_tile(future_tile_number_bull))

    if keys[pygame.K_u] and not bill.has_target() and not bull.has_target(): # North
        bill.unnatural = True
        bill.set_target(Tile.get_tile(Tile.MAP['spawn'][1]))

    if keys[pygame.K_ESCAPE]:
        functions.state = 3
Example #39
0
from classes import *
from interaction import interaction
from A_Star import A_Star
from time import sleep

pygame.init()
pygame.font.init()
pygame.mixer.init()

pygame.mixer.music.load('Audio/zombie_theme.ogg')
pygame.mixer.music.play(-1) #-1 : iur music will replay again, never stops


screen = pygame.display.set_mode((704, 448)) # 32, 32

Tile.preInit(screen) #tiles are made using function.

clock = pygame.time.Clock()
FPS = 20
totalFrames = 0

 
dungeon = pygame.image.load('images/dungeon.jpg')
survivor = Survivor(32 * 2, 32 * 4)


while True:

    screen.blit(dungeon, (0,0) )

    Zombie.spawn(totalFrames, FPS)
Example #40
0
def build_controls(screen):

    Mpos = pygame.mouse.get_pos()  # [x, y]
    Mx = Mpos[0] / Tile.width
    My = Mpos[1] / Tile.height
    LEFT = 1
    MIDDLE = 2
    RIGHT = 3

    block_type = block_default.get()

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            print Tile.MAP
            pygame.quit()
            sys.exit()

        if event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == LEFT:
                for tile in Tile.List:
                    if tile.x == (Mx * Tile.width) and tile.y == (My * Tile.width):

                        print "Trying to create {} block on tile: {}".format(block_type, tile.number)

                        if block_type == "solid":
                            if tile.type == "empty":
                                Tile.MAP["solids"].append(tile.number)
                            elif tile.number == Tile.MAP["point"]:
                                tile.MAP["point"] = 0
                            elif tile.number in Tile.MAP["holes"]:
                                Tile.MAP["holes"].remove(tile.number)

                        elif block_type == "point":
                            if tile.type == "empty":
                                if Tile.get_tile(Tile.MAP["point"]) in Tile.List:
                                    Tile.get_tile(Tile.MAP["point"]).type = "empty"
                                    Tile.get_tile(Tile.MAP["point"]).walkable = False
                                Tile.MAP["point"] = tile.number
                            if tile.number in Tile.MAP["solids"]:
                                if Tile.get_tile(Tile.MAP["point"]) in Tile.List:
                                    Tile.get_tile(Tile.MAP["point"]).type = "empty"
                                    Tile.get_tile(Tile.MAP["point"]).walkable = False
                                Tile.MAP["point"] = tile.number
                                Tile.MAP["solids"].remove(tile.number)
                            elif tile.number in Tile.MAP["holes"]:
                                if Tile.get_tile(Tile.MAP["point"]) in Tile.List:
                                    Tile.get_tile(Tile.MAP["point"]).type = "empty"
                                    Tile.get_tile(Tile.MAP["point"]).walkable = False
                                Tile.MAP["point"] = tile.number
                                Tile.MAP["holes"].remove(tile.number)

                        elif block_type == "hole":
                            if tile.type == "empty":
                                Tile.MAP["holes"].append(tile.number)
                            if tile.number in Tile.MAP["solids"]:
                                Tile.MAP["solids"].remove(tile.number)
                            elif tile.number == Tile.MAP["point"]:
                                Tile.MAP["point"] = 0

                        elif block_type == "spawnbill":
                            elements = 0
                            for i in range(0, Tile.total_tiles + 1):
                                if i in Tile.MAP["spawn"]:
                                    elements += 1

                            if elements == 1:
                                Tile.MAP["spawn"].append(1)
                            elif elements > 2 or elements == 0:
                                Tile.MAP["spawn"] = [1, 1]

                            if tile.type == "empty":
                                if Tile.get_tile(Tile.MAP["spawn"][0]) in Tile.List:
                                    Tile.get_tile(Tile.MAP["spawn"][0]).type = "empty"
                                    Tile.get_tile(Tile.MAP["spawn"][0]).walkable = False
                                Tile.MAP["spawn"][0] = tile.number

                            if tile.number in Tile.MAP["solids"]:
                                if Tile.get_tile(Tile.MAP["spawn"][0]) in Tile.List:
                                    Tile.get_tile(Tile.MAP["spawn"][0]).type = "empty"
                                    Tile.get_tile(Tile.MAP["spawn"][0]).walkable = False
                                Tile.MAP["spawn"][0] = tile.number

                            elif tile.number in Tile.MAP["holes"]:
                                if Tile.get_tile(Tile.MAP["spawn"][0]) in Tile.List:
                                    Tile.get_tile(Tile.MAP["spawn"][0]).type = "empty"
                                    Tile.get_tile(Tile.MAP["spawn"][0]).walkable = False
                                Tile.MAP["spawn"][0] = tile.number
                                Tile.MAP["holes"].remove(tile.number)

                        elif block_type == "spawnbull":
                            elements = 0
                            for i in range(0, Tile.total_tiles + 1):
                                if i in Tile.MAP["spawn"]:
                                    elements += 1
                            if elements == 1:
                                Tile.MAP["spawn"].append(1)
                            elif elements > 2 or elements == 0:
                                Tile.MAP["spawn"] = [1, 1]

                            if tile.type == "empty":
                                if Tile.get_tile(Tile.MAP["spawn"][1]) in Tile.List:
                                    Tile.get_tile(Tile.MAP["spawn"][1]).type = "empty"
                                    Tile.get_tile(Tile.MAP["spawn"][1]).walkable = False
                                Tile.MAP["spawn"][1] = tile.number

                            if tile.number in Tile.MAP["solids"]:
                                if Tile.get_tile(Tile.MAP["spawn"][1]) in Tile.List:
                                    Tile.get_tile(Tile.MAP["spawn"][1]).type = "empty"
                                    Tile.get_tile(Tile.MAP["spawn"][1]).walkable = False
                                Tile.MAP["spawn"][1] = tile.number

                            elif tile.number in Tile.MAP["holes"]:
                                if Tile.get_tile(Tile.MAP["spawn"][1]) in Tile.List:
                                    Tile.get_tile(Tile.MAP["spawn"][1]).type = "empty"
                                    Tile.get_tile(Tile.MAP["spawn"][1]).walkable = False
                                Tile.MAP["spawn"][1] = tile.number
                                Tile.MAP["holes"].remove(tile.number)

                        tile.type = block_type
                        tile.walkable = True

                        if Tile.get_tile(tile.number).type == block_type:
                            print "Success!"
                        else:
                            print "Failed."

            elif event.button == RIGHT:
                for tile in Tile.List:
                    if tile.x == (Mx * Tile.width) and tile.y == (My * Tile.width):

                        i = 0

                        if tile.type == "empty":
                            print "Tile is already empty."
                        else:
                            print "Trying to remove {} block from tile: {}".format(tile.type, tile.number)
                            i = 1

                        if tile.type == "point":
                            Tile.MAP["point"] = 0
                        else:
                            if tile.number in Tile.MAP["solids"]:
                                Tile.MAP["solids"].remove(tile.number)
                            elif tile.number in Tile.MAP["holes"]:
                                Tile.MAP["holes"].remove(tile.number)
                            elif tile.number in Tile.MAP["spawn"]:
                                Tile.MAP["spawn"].remove(tile.number)

                        tile.type = "empty"
                        tile.walkable = False

                        if tile.type == "empty" and i == 1:
                            print "Sucess!"
                        else:
                            print "Failed."
def interaction(screen, survivor):

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_e: # cycle through weapons array
                survivor.current_weapon +=1
                survivor.current_weapon %=2 # back to 0
             
    keys = pygame.key.get_pressed()

    if keys[pygame.K_w]: # North
        future_tile_number = survivor.get_number() - Tile.V
        if future_tile_number in range(1, Tile.total_tiles + 1): # stops from going out of bounds
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('n')
                  

    if keys[pygame.K_s]: # South
        future_tile_number = survivor.get_number() + Tile.V
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('s')


    if keys[pygame.K_a]: # West
        future_tile_number = survivor.get_number() - Tile.H

        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)    
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('w')


    if keys[pygame.K_d]: # East
        future_tile_number = survivor.get_number() + Tile.H
        if future_tile_number in range(1, Tile.total_tiles + 1):
            future_tile = Tile.get_tile(future_tile_number)
            if future_tile.walkable:
                survivor.set_target(future_tile)
                survivor.rotate('e')


    if keys[pygame.K_LEFT]:
        survivor.rotate('w')
        Bullet(survivor.centerx, survivor.centery, -10, 0, 'w', survivor.get_bullet_type())        

    elif keys[pygame.K_RIGHT]:
        survivor.rotate('e')
        Bullet(survivor.centerx, survivor.centery, 10, 0, 'e', survivor.get_bullet_type())
        
    elif keys[pygame.K_UP]:
        survivor.rotate('n')
        Bullet(survivor.centerx, survivor.centery, 0, -10, 'n', survivor.get_bullet_type())

    elif keys[pygame.K_DOWN]:
        survivor.rotate('s')
        Bullet(survivor.centerx, survivor.centery, 0, 10, 's', survivor.get_bullet_type())
Example #42
0
pygame.init() #initializing pygame
pygame.font.init() #displaying font in screen
pygame.mixer.init() #initializing mixed components of pygame

pygame.mixer.music.load('audio/zombie_theme.ogg')
pygame.mixer.music.play(-1) #-1 means the music will play infinite times until the game stop

screen = pygame.display.set_mode((704, 448)) # 32, 32  #creating display

"""
putting tiles to our screen
"""
for y in range(0, screen.get_height(), 32):
    for x in range(0, screen.get_width(), 32):
        if Tile.total_tiles in Tile.invalids:
            Tile(x, y, 'solid')
        else:
            Tile(x, y, 'empty')

"""
"""

clock = pygame.time.Clock()
FPS = 20
total_frames = 0
dungeon = pygame.image.load('images/dungeon.jpg')
survivor = Survivor(32 * 2, 32 * 4)


while True:
Example #43
0
from tileC import Tile
from object_classes import *
from interaction import interaction
from A_Star import A_Star
from time import sleep

pygame.init()
pygame.font.init()
pygame.mixer.init()

#pygame.mixer.music.load('audio/zombie_theme.ogg')
#pygame.mixer.music.play(-1)

screen = pygame.display.set_mode((704, 448))  # 32, 32

Tile.pre_init(screen)

clock = pygame.time.Clock()
FPS = 60
total_frames = 0

dungeon = pygame.image.load('images/dungeon.jpg')

# zombie1 = Zombie(80, 80)
survivor = Survivor(32 * 2, 32 * 4)

while True:

    screen.blit(dungeon, (0, 0))

    Zombie.spawn(total_frames, FPS)
Example #44
0
 def spawn(total_frames, FPS):
     if total_frames % (FPS * 3) == 0:
         r = randint(0, len(Coin.spawn_tiles) - 1)
         tile_num = Coin.spawn_tiles[r]
         spawn_node = Tile.get_tile(tile_num)
         Coin(spawn_node.x, spawn_node.y)
Example #45
0
from tileC import Tile
from classes import *
from interaction import interaction
from A_Star import A_Star
from time import sleep

pygame.init()
pygame.font.init()
pygame.mixer.init()

pygame.mixer.music.load('Audio/zombie_theme.ogg')
pygame.mixer.music.play(-1)  #-1 : iur music will replay again, never stops

screen = pygame.display.set_mode((704, 448))  # 32, 32

Tile.preInit(screen)  #tiles are made using function.

clock = pygame.time.Clock()
FPS = 20
totalFrames = 0

dungeon = pygame.image.load('images/dungeon.jpg')
survivor = Survivor(32 * 2, 32 * 4)

while True:

    screen.blit(dungeon, (0, 0))

    Zombie.spawn(totalFrames, FPS)
    Zombie.update(screen, survivor)
Example #46
0
 def get_tile(self):
     return Tile.get_tile(self.get_number())
Example #47
0
 def getTile(self):
     return Tile.getTile(self.getNumber())
Example #48
0
 def getTile(self):
     return Tile.getTile(self.getNumber())
Example #49
0
 def spawn(total_frames, FPS):
     if total_frames % (FPS & 2) == 0:
         r = randint(0, len(Zombie.spawn_tiles) - 1)
         tile_num = Zombie.spawn_tiles[r]
         spawn_node = Tile.get_tile(tile_num)
         Zombie(spawn_node.x, spawn_node.y)
Example #50
0
from object_classes import *
from interaction import interaction
from A_Star import A_Star

pygame.init()
pygame.font.init()

pygame.mixer.init()

pygame.mixer.music.load('audio/tristram.mp3')
pygame.mixer.music.play(-1)
pygame.mixer.music.set_volume(.25)

screen = pygame.display.set_mode((1280, 960)) # 40, 30

Tile.pre_init(screen)

clock = pygame.time.Clock()
FPS = 20
total_frames = 0
 
dungeon = pygame.image.load('images/map1.png')
survivor = Survivor(128, 512)

while True:

    screen.blit(dungeon, (0,0) )
    Zombie.spawn(total_frames, FPS)

    survivor.movement()
    Bullet.super_massive_jumbo_loop(screen)
Example #51
0
 def respawn(bill, bull):
     bill.x, bill.y = Tile.get_tile(Tile.MAP['spawn'][0]).x, Tile.get_tile(Tile.MAP['spawn'][0]).y
     bull.x, bull.y = Tile.get_tile(Tile.MAP['spawn'][1]).x, Tile.get_tile(Tile.MAP['spawn'][1]).y