Advertisement
pigdevil2010

Pipes!

Oct 17th, 2014
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.87 KB | None | 0 0
  1. import argparse
  2. import random
  3.  
  4. def sr(a) :
  5.     t = (a >> 3 & 1) + (a & 1)
  6.     if t == 0 : return 6
  7.     else : return random.randint(2-t,3) << 1
  8.    
  9.  
  10. pipes = ['','','',u'\u2557','',u'\u2550',u'\u2554',u'\u2566','',u'\u255d',u'\u2551',u'\u2563',u'\u255a',u'\u2569',u'\u2560',u'\u256c']
  11.  
  12. parser = argparse.ArgumentParser(description='No leaking pipe system generator')
  13. parser.add_argument('width', metavar='W', type=int, help='Nuber of pipes in one row')
  14. parser.add_argument('height', metavar='H', type=int, help='Number of rows')
  15. nsp = parser.parse_args()
  16.  
  17. ps = [[]]
  18.  
  19. for i in range(nsp.height) :
  20.     po = ''
  21.     ps.append([])
  22.     for j in range(nsp.width) :
  23.         p = 0
  24.         if i != 0 : p += (ps[i-1][j] >> 1 & 1) << 3
  25.         else : p += random.randint(0,1) << 3
  26.         if j != 0 : p += ps[i][j-1] >> 2 & 1
  27.         else : p += random.randint(0,1)
  28.         p += sr(p)
  29.         ps[i].append(p)
  30.         po += pipes[p]
  31.     print(po)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement