I am trying to write a python program that will draw a random Tetris shape onto a board. Here's my code:
def __init__(self, win):
self.board = Board(win, self.BOARD_WIDTH, self.BOARD_HEIGHT)
self.win = win
self.delay = 1000
self.current_shape = self.create_new_shape()
# Draw the current_shape oan the board
self.current_shape = Board.draw_shape(the_shape)
def create_new_shape(self):
''' Return value: type: Shape
Create a random new shape that is centered
at y = 0 and x = int(self.BOARD_WIDTH/2)
return the shape
'''
y = 0
x = int(self.BOARD_WIDTH/2)
self.shapes = [O_shape,
T_shape,
L_shape,
J_shape,
Z_shape,
S_shape,
I_shape]
the_shape = random.choice(self.shapes)
return the_shape
My problem is in the "self.current_shape = Board.draw_shape(the_shape). It says the_shape is not defined but I thought I defined it in the create_new_shape.
the_shape
is local to yourcreate_new_shape
function, the name falls out of scope once the function exits.