Commit 624a1104 by BellCodeEditor

save project

parent 57b304c8
Showing with 29 additions and 21 deletions
......@@ -8,9 +8,6 @@ grid_num_width = 15 # 横向格子数量
grid_num_height = 25 # 纵向格子数量
FPS = 5
listxy = [2,8]
listxy_shape = [(0,-1),(0,0),(0,1),(0,2)]
# 创建窗口
screen = pygame.display.set_mode((460, 500))
pygame.display.set_caption("俄罗斯方块")
......@@ -19,32 +16,43 @@ clock = pygame.time.Clock() # pygame时钟,控制游戏速度(帧数)
background = pygame.image.load('bg.png')
font = pygame.font.Font('STKAITI.TTF', 60) # 字体
center = [2,8] # 中心点,2行8列
curr_shape=[(0,-1),(0,0),(0,1),(0,2)]
while True:
for event in pygame.event.get():
if event.type == locals.QUIT:
exit()
if event.type == locals.KEYDOWN:
if event.key == locals.K_LEFT:
if listxy[1] > 1 and listxy[0] != 25:
listxy[1]-=1
if event.key == locals.K_RIGHT and listxy[0] != 25:
if listxy[1] < 15:
listxy[1] += 1
if listxy[0] < 25:
listxy[0] += 1
if event.key == locals.K_RIGHT and center[0] != 25:
if center[1] < 15:
center[1] = center[1]+1
elif event.key == locals.K_LEFT and center[0] != 25:
if center[1] > 1:
center[1] = center[1] - 1
if center[0] < 25:
center[0] = center[0] + 1
# 将背景图画上去
screen.blit(background,(0, 0))
listxy_pos = []
for cube in listxy_shape:
t = (cube[0] +listxy[0],cube[1] +listxy[1])
listxy_pos.append(t)
for cube in listxy_pos:
pygame.draw.rect(screen,(255,0,0),(cube[1] * 20 - 20,cube[0] * 20 - 20,20,20),0)
pygame.draw.rect(screen,(0,0,255),(cube[1] * 20 - 20,cube[0] * 20 - 20,20,20),0)
screen.blit(background, (0, 0))
# 将1个格子画出来
curr_cube=[]
for cube in curr_shape:
ss=(cube[0]+center[0],cube[1]+center[1])
curr_cube.append(ss)
for cube in curr_cube:
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) # 1不填充
# 得分
score_text=font.render(str(score),True,(0,0,0))
screen.blit(score_text,(370,70))
score_text = font.render(str(score), True, (0, 0, 0))
screen.blit(score_text , (350,70))
# 刷新画面
pygame.display.update()
clock.tick(FPS)
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