Commit cd054447 by BellCodeEditor

save project

parent cae5c529
Showing with 23 additions and 34 deletions
......@@ -4,12 +4,11 @@ from pygame import locals
pygame.init() # 初始化
score = 0
grid_size = 20 # 格子大小
grid_num_width = 20 # 横向格子数量
grid_num_height = 30 # 纵向格子数量
grid_num_width = 15 # 横向格子数量
grid_num_height = 25 # 纵向格子数量
FPS = 30
number=0
kun=[2,7]
# 创建窗口
screen = pygame.display.set_mode((460, 500))
pygame.display.set_caption("俄罗斯方块")
......@@ -17,43 +16,33 @@ clock = pygame.time.Clock() # pygame时钟,控制游戏速度(帧数)
# 载入素材
background = pygame.image.load('bg.png')
font = pygame.font.Font('STKAITI.TTF', 60) # 字体
center=[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_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
curr_pos = []
for cube in curr_shape:
aa = (cube[0] + center[0],cube[1] + center[1])
curr_pos.append(aa)
for cube in curr_pos:
pygame.draw.rect(screen,(153,0,102),
(cube[1]*20-20,cube[0]*20-20,
grid_size,grid_size),
0)
pygame.draw.rect(screen,(255,255,255),
(cube[1]*20-20,cube[0]*20-20,
grid_size,grid_size),
1)
if event.type == locals.KEYDOWN and kun[0]<25:
if event.key == locals.K_LEFT and kun[1]>1:
kun[1]=kun[1]-1
if event.key == locals.K_RIGHT and kun[1]<15:
kun[1]=kun[1]+1
if event.key == locals.K_DOWN:
kun[0]=25
if event.key == locals.K_UP:
number=10000
# 将背景图画上去
screen.blit(background,(0,0))
score_text=font.render(str(score),True,(0,0,0))
screen.blit(score_text,(350,70))
pygame.draw.rect(screen,(255,0,0),(kun[1]*20-20,kun[0]*20-20,20,20),0)
pygame.draw.rect(screen,(255,255,255),(kun[1]*20-20,kun[0]*20-20,20,20),1)
# 得分
screen.blit(font.render(str(score),True,(0,0,0)),(350,70))
# 刷新画面
if kun[0]<25:
number+=1
if number==20:
kun[0]+=1
number=0
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