my_Tetris.py
1.48 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
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) # 字体
senter=[2,8]
c_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_LEFT:
if senter[1]>2:
senter[1]-=1
if event.key==locals.K_RIGHT:
if senter[1]<14:
senter[1]+=1
if event.key==locals.K_DOWN:
if senter[0]<25:
senter[0]+=1
# 将背景图画上去
screen.blit(background,(0,0))
c_pos=[]
for cube in c_shape:
pos=(cube[0]+senter[0],cube[1]+senter[1])
c_pos.append(pos)
for cube in c_pos:
pygame.draw.rect(screen,(0,0,255),(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)
score1=font.render(str(score),True,(0,0,0))
screen.blit(score1,(360,80))
pygame.display.update()
clock.tick(FPS)