my_Tetris.py
1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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]
current_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_REGHT:
if center[1]<15:
center[1]+=1
if event.key == locals.K_LEFT:
if center[1]>1:
center[1]-=1
if 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]+center[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),((center[1]*20-20,center[0]*20-20,20,20),1)
# 得分
screen_test=font.render(str(score),True,(0,0,0))
screen.blit(screen_test,(350,70))
# 刷新画面
pygame.display.update()
clock.tick(FPS)