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"))
# 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
# 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