diff --git a/my_Tetris.py b/my_Tetris.py index 80cdd0d..3146f57 100644 --- a/my_Tetris.py +++ b/my_Tetris.py @@ -56,6 +56,9 @@ def check(center): if cube[0] < 1 or cube[1] < 1 or cube[0] > grid_num_height \ or cube[1] >grid_num_width: return False + if num_list[cube[0]-1][cube[1]-1]!=0: + return False + while True: for event in pygame.event.get(): @@ -115,7 +118,28 @@ while True: (cube[1] * 20-20, cube[0] * 20-20, 20, 20), 0) pygame.draw.rect(screen, (255, 255, 255), (cube[1] * 20-20, cube[0] * 20-20, 20, 20), 1) - # 得分 + for i, row in zip(range(1,26),num_list): + for j, colors in zip(range(1,16),row): + if colors != 0: + pygame.draw.rect(screen,colors,(j*20-20,i*20-20,20,20)) + pygame.draw.rect(screen,(255,255,255),(j*20-20,i*20-20,20,20),1) + new_list=[] + for i in range(25): + new_list.append([0]*15) + row_index=24 + for i in range(24,-1,-1): + is_full=True + for j in range(grid_num_width): + if num_list[i][j]==0: + is_full=False + if is_full==False: + new_list[row_index]=num_list[i] + row_index=-1 + else: + score+=1 + num_list=new_list + + text_surface = font.render(str(score), True, (0, 0, 0)) screen.blit(text_surface, (350,70)) # 刷新画面