Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Letters(object):
- def __init__(self):
- self.buffer = None
- def letterBuffer(self, w=7, h=9):
- ret = []
- for y in range(h):
- line = []
- for x in range(w):
- line.append(' ')
- ret.append(line)
- return ret
- def printBuffer(self):
- for line in self.buffer:
- for char in line:
- print(char, end="")
- print()
- def lineHorizontal(self, buffer, x=0, y=0, length=7):
- for i in range(length):
- buffer[y][x+i] = "*"
- def lineVertical(self, buffer, x=0, y=0, length=9):
- for i in range(length):
- buffer[y+i][x] = "*"
- def lineCross(self, buffer):
- x, y = 2, 0
- length = 9
- for i in range(length):
- buffer[y+i][int((x+i)/2)] = "*"
- def P(self):
- buff = self.letterBuffer()
- self.lineHorizontal(buff)
- self.lineHorizontal(buff, y=4)
- self.lineVertical(buff)
- self.lineVertical(buff, x=6, length=4)
- return buff
- def Y(self):
- buff = self.letterBuffer()
- self.lineHorizontal(buff, y=4)
- self.lineHorizontal(buff, y=8)
- self.lineVertical(buff, x=6)
- self.lineVertical(buff, length=4)
- return buff
- def T(self):
- buff = self.letterBuffer()
- self.lineHorizontal(buff)
- self.lineVertical(buff, x=3)
- return buff
- def H(self):
- buff = self.letterBuffer()
- self.lineVertical(buff)
- self.lineHorizontal(buff, y=4)
- self.lineVertical(buff, x=6)
- return buff
- def O(self):
- buff = self.letterBuffer()
- self.lineVertical(buff)
- self.lineHorizontal(buff)
- self.lineVertical(buff, x=6)
- self.lineHorizontal(buff, y=8)
- return buff
- def N(self):
- buff = self.letterBuffer()
- self.lineVertical(buff)
- self.lineCross(buff)
- self.lineVertical(buff, x=6)
- return buff
- def add(self, buff):
- if not self.buffer:
- self.buffer = buff
- else:
- for i in range(len(buff)):
- self.buffer[i] += [' '] + buff[i]
- return self
- letters = Letters()
- letters.add(
- letters.P()).add(
- letters.Y()).add(
- letters.T()).add(
- letters.H()).add(
- letters.O()).add(
- letters.N()).printBuffer()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement