def interaction(SCREEN):

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

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        if event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == 1:            
                for tile in Tile.List:
                    if tile.x == (Mx * Tile.width) and tile.y == (My * Tile.width):
                        tile.type = 'solid'
                        WALLS.append(tileNumber)
                        break
            if event.button == 3: # 1 = LEFT
                tile = Tile.get_tile(tileNumber)
                if tileNumber in WALLS:
                    tile.type = 'empty'
                    WALLS.remove(tileNumber)
                else:
                    break
                

    keys = pygame.key.get_pressed()            
    if keys[pygame.K_l]:
        print WALLS
        with open("obstacle_map.py", "w") as text_file:
            text_file.write('{}\n\t{}\n\t{}'.format("def obstacles():", "obstacle_map = " + str(WALLS), "return obstacle_map"))
def interaction(SCREEN):

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

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        if event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == 1:
                for tile in Tile.List:
                    if tile.x == (Mx * Tile.width) and tile.y == (My *
                                                                  Tile.width):
                        tile.type = 'solid'
                        WALLS.append(tileNumber)
                        break
            if event.button == 3:  # 1 = LEFT
                tile = Tile.get_tile(tileNumber)
                if tileNumber in WALLS:
                    tile.type = 'empty'
                    WALLS.remove(tileNumber)
                else:
                    break

    keys = pygame.key.get_pressed()
    if keys[pygame.K_l]:
        print WALLS
        with open("obstacle_map.py", "w") as text_file:
            text_file.write('{}\n\t{}\n\t{}'.format(
                "def obstacles():", "obstacle_map = " + str(WALLS),
                "return obstacle_map"))
예제 #3
0
# Currently works for a grid 40 x 30 and 32 pixel tiles
# Needs to define global vars for grid size, tile size and
# Vertical differential for grid calculation
# Define image file to load .... background_image
# Define image size to set SCREEN size

import pygame, sys, text_to_screen
from tile_Class import Tile
from interaction import interaction

pygame.init()
pygame.font.init()
SCREEN = pygame.display.set_mode((1280, 960)) # 40 x 30
Tile.pre_init(SCREEN)
CLOCK = pygame.time.Clock()
FPS = 20
TOTAL_FRAMES = 0
background_image = pygame.image.load('images/map1.png')

while True:

	SCREEN.blit(background_image, (0,0))
	interaction(SCREEN)
	Tile.draw_tiles(SCREEN)
	pygame.display.flip()
	CLOCK.tick(FPS)
	TOTAL_FRAMES += 1
예제 #4
0
# Currently works for a grid 40 x 30 and 32 pixel tiles
# Needs to define global vars for grid size, tile size and
# Vertical differential for grid calculation
# Define image file to load .... background_image
# Define image size to set SCREEN size

import pygame, sys, text_to_screen
from tile_Class import Tile
from interaction import interaction

pygame.init()
pygame.font.init()
SCREEN = pygame.display.set_mode((1280, 960))  # 40 x 30
Tile.pre_init(SCREEN)
CLOCK = pygame.time.Clock()
FPS = 20
TOTAL_FRAMES = 0
background_image = pygame.image.load('images/map1.png')

while True:

    SCREEN.blit(background_image, (0, 0))
    interaction(SCREEN)
    Tile.draw_tiles(SCREEN)
    pygame.display.flip()
    CLOCK.tick(FPS)
    TOTAL_FRAMES += 1