Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/env python2
- slant={
- ' ':' ',
- '+':'x',
- '|':'/',
- '-':'\\'
- }
- def slantc(character):
- return slant[character]
- class maze:
- def __init__(self,strin):
- self.string=strin
- self.makegrid(strin)
- def makegrid(self,strin):
- from pprint import pprint
- lines = strin.splitlines()
- yl = int(lines[0])
- lines = lines[1:yl+1]
- xl=len(lines)
- grid=[]
- for _ in range(yl*2-1): grid.append([' ']*(xl))
- l=0
- o=[]
- lastlines=[]
- for l in range(len(lines)):
- first = lines[l][0:l+1]
- lastlines.append(lines[l][l+1:xl]) #xl to cut any extra off
- z=xl-l-1
- f=len(first)
- for c in range(len(first)):
- n=first[c]
- grid[l+c][z+c]=n
- lastlines.reverse()
- startl=len(grid)
- derp=True
- for row in range(len(grid)): #sorry... #it_works on sizes of 1,2,4
- derp=not derp
- if derp:
- grid[row].pop()
- for l in range(len(lastlines)):
- line=[a for a in lastlines[l]]
- line.reverse()
- for c in range(len(line)):
- z=-l-1-c
- grid[z].append(' ')
- n=line[c]
- grid[z].append(n)
- self.grid=grid
- def __str__(self,removeplus=False):
- r=''
- first=True
- for row in self.grid:
- l=[slantc(a) for a in row]
- s=''.join(l)
- if not first: s='\r\n'+s
- first=False
- r=r+s
- return r
- if __name__=="__main__":
- mazestr_hash="""11
- #0123456789a
- ###########b
- ###########c
- ###########d
- ###########e
- ###########f
- ###########g
- ###########h
- ###########i
- ###########j
- ###########k"""
- mazestr1="""11
- +-+-+-+-+-+
- | |
- + +-+-+ + +
- | | | |
- + + + + + +
- | | | |
- +-+-+ +-+-+
- | | |
- + + +-+ + +
- | | | |
- +-+-+-+-+-+"""
- mazestr2="""16
- +--+ +--+--+--+
- | | |
- | | |
- + +--+ + + +
- | | | |
- | | | |
- +--+ + + + +
- | | | |
- | | | |
- + +--+ + +--+
- | | |
- | | |
- +--+--+--+--+ +
- |
- |
- +--+--+--+--+--+"""
- mazestr3="""17
- +---+---+---+---+---+---+
- |
- |
- |
- +---+---+---+---+---+ +
- |
- |
- |
- +---+---+---+---+---+---+
- |
- |
- |
- + +---+---+---+---+---+
- |
- |
- |
- +---+---+---+---+---+---+"""
- m=maze(mazestr1)
- print m
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement