Attachment:
map1.map
Description: Binary data
import pygame,sys,string
from pygame.locals import *
class map_:
def __init__(self,wndow=(300,300)):
self.size = wndow
self.map = [[],[],[]]
self.surfaces = [[],[]]
self.window = pygame.display.set_mode(self.size)
pygame.init()
def create_box(self,size,color,rect):
box = pygame.Surface((size))
pygame.draw.rect(box,color,box.get_rect())
self.surfaces[0].append(box)
self.surfaces[1].append(rect)
def load_text_map(self,map):
file = open(map,"r")
links = file.readlines()
file.close()
x = 0
for i in links:
i = string.replace(i,"\n","")
i = i.split(",")
for e in i:
self.map[x].append(e)
x += 1
def draw_box(self):
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
e = 0
while e < len(self.surfaces[0]):
self.window.blit(self.surfaces[0][e],self.surfaces[1][e])
e += 1
pygame.display.update()
def render_map(self,aray,dict):
x=0
for e in aray:
z = 0
for y in e:
aray[x][z] = dict[int(y)]
z += 1
x += 1
return aray
def hex_converter(self,hexcolorcode):
hexcolorcode = hexcolorcode[1:]
red = hexcolorcode[0:2]
red = int(red,16)
blue = hexcolorcode[2:4]
blue = int(blue,16)
green = hexcolorcode[4:6]
green = int(green,16)
return (red,green,blue)
def main(self):
z = 0
x = 0
y = 0
m = 0
while z < len(self.map):
q = 0
while q < len(self.map[z]):
self.create_box(self.map[z][q][0],self.map[z][q][1],(x,y))
y += 100
q += 1
y = 0
x += 100
z += 1
self.draw_box()
Map = map_()
tiles = {1 : [(100,100),Map.hex_converter("#E0ECFF")], 2 : [(100,100),Map.hex_converter("#B5EDBC")] }
Map.load_text_map("map1.map")
Map.render_map(Map.map,tiles)
Map.main()