import pygame from pygame import locals pygame.init() # 初始化 score = 0 grid_size = 20 # 格子大小 grid_num_width = 15 # 横向格子数量 grid_num_height = 25 # 纵向格子数量 FPS = 30 # 创建窗口 screen = pygame.display.set_mode((460, 500)) pygame.display.set_caption("俄罗斯方块") clock = pygame.time.Clock() # pygame时钟,控制游戏速度(帧数) # 载入素材 background = pygame.image.load('bg.png') font = pygame.font.Font('STKAITI.TTF', 60) # 字体 center=[2,8] currebt_shape = [(0,-1),(0,0),(0,1),(-1,0)] while True: for event in pygame.event.get(): if event.type == locals.QUIT: exit() if event.type == locals.KEYDOWN: if event.key == locals.K_RIGHT: if center[1] < 15: center[1] += 1 elif event.key == locals.K_LEFT: if center[1] > 1: center[1] -= 1 elif event.key == locals.K_DOWN: if center[0] < 25: center[0] += 1 # 将背景图画上去 screen.blit(background,(0,0)) current_pos = [] for cube in current_shape: pos = (cube[0] + center[0],cube[1] + [1]) current_pos.append(pos) for cube in current_pos: pygame.draw.rect(screen,(255,0,0), (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) # 得分 text_surface = font.render(str(score),True,(0,0,0)) screen.blit(text_surface,(350,70)) # 刷新画面 pygame.display.update() clock.tick(FPS)