Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import argparse
- import random
- def sr(a) :
- t = (a >> 3 & 1) + (a & 1)
- if t == 0 : return 6
- else : return random.randint(2-t,3) << 1
- pipes = ['','','',u'\u2557','',u'\u2550',u'\u2554',u'\u2566','',u'\u255d',u'\u2551',u'\u2563',u'\u255a',u'\u2569',u'\u2560',u'\u256c']
- parser = argparse.ArgumentParser(description='No leaking pipe system generator')
- parser.add_argument('width', metavar='W', type=int, help='Nuber of pipes in one row')
- parser.add_argument('height', metavar='H', type=int, help='Number of rows')
- nsp = parser.parse_args()
- ps = [[]]
- for i in range(nsp.height) :
- po = ''
- ps.append([])
- for j in range(nsp.width) :
- p = 0
- if i != 0 : p += (ps[i-1][j] >> 1 & 1) << 3
- else : p += random.randint(0,1) << 3
- if j != 0 : p += ps[i][j-1] >> 2 & 1
- else : p += random.randint(0,1)
- p += sr(p)
- ps[i].append(p)
- po += pipes[p]
- print(po)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement