Commit 804ec401 by BellCodeEditor

save project

parent 678c9fb6
Showing with 12 additions and 3 deletions
...@@ -50,6 +50,14 @@ index = random.randint(0,len(shape)-1) ...@@ -50,6 +50,14 @@ index = random.randint(0,len(shape)-1)
current_shape = shape[index] current_shape = shape[index]
color = random.choice(cube_colors) color = random.choice(cube_colors)
def check(center):
for cube in current_shape:
cube = (cube[0] + center[0],cube[1] + center[1])
if cube[0] < 1 or cube[1] < 1 or cube[0] > grid_num_height \
or cube[1] >grid_num_width:
return False
while True: while True:
for event in pygame.event.get(): for event in pygame.event.get():
if event.type == locals.QUIT: if event.type == locals.QUIT:
...@@ -59,8 +67,9 @@ while True: ...@@ -59,8 +67,9 @@ while True:
if center[1] < 15: if center[1] < 15:
center[1] += 1 center[1] += 1
elif event.key == locals.K_LEFT: # 向左 elif event.key == locals.K_LEFT: # 向左
if center[1] > 1: center[1] = center[1] - 1
center[1] -= 1 if check(center) == False:
center[1] = center[1] + 1
elif event.key == locals.K_DOWN: # 向下 elif event.key == locals.K_DOWN: # 向下
if center[0] < 25: if center[0] < 25:
center[0] += 1 center[0] += 1
...@@ -74,7 +83,7 @@ while True: ...@@ -74,7 +83,7 @@ while True:
current_pos.append(pos) current_pos.append(pos)
# 取出所有小方块的行、列位置,计算坐标,绘制俄罗斯方块 # 取出所有小方块的行、列位置,计算坐标,绘制俄罗斯方块
for cube in current_pos: for cube in current_pos:
pygame.draw.rect(screen, (255,0,0), pygame.draw.rect(screen, color,
(center[1] * 20-20, center[0] * 20-20, 20, 20), 0) (center[1] * 20-20, center[0] * 20-20, 20, 20), 0)
pygame.draw.rect(screen, (255, 255, 255), pygame.draw.rect(screen, (255, 255, 255),
(center[1] * 20-20, center[0] * 20-20, 20, 20), 1) (center[1] * 20-20, center[0] * 20-20, 20, 20), 1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment