Commit f1c1bea5 by BellCodeEditor

auto save

parent 8e3628c0
Showing with 30 additions and 2 deletions
...@@ -7,7 +7,14 @@ grid_size = 20 # 格子大小 ...@@ -7,7 +7,14 @@ grid_size = 20 # 格子大小
grid_num_width = 15 # 横向格子数量 grid_num_width = 15 # 横向格子数量
grid_num_height = 25 # 纵向格子数量 grid_num_height = 25 # 纵向格子数量
FPS = 30 FPS = 30
center = [2,8] # 格子行列
t_current_shape=[(0,-1),(0,0),(0,1),(-1,0)] # T型方块
i_current_shape=[(-1,0),(0,0),(1,0),(2,0)] # I型方块
j_current_shape=[(0,-1),(0,0),(-1,0),(-2,0)] # J型方块
l_current_shape=[(0,1),(0,0),(-1,0),(-2,0)] # L型方块
o_current_shape=[(1,0),(0,0),(-1,0),(1,1)] # O型方块
s_current_shape=[(0,-1),(0,0),(1,0),(1,1)] # S型方块
z_current_shape=[(0,1),(0,0),(-1,0),(-1,-1)] # Z型方块
# 创建窗口 # 创建窗口
screen = pygame.display.set_mode((460, 500)) screen = pygame.display.set_mode((460, 500))
pygame.display.set_caption("俄罗斯方块") pygame.display.set_caption("俄罗斯方块")
...@@ -20,11 +27,32 @@ while True: ...@@ -20,11 +27,32 @@ while True:
for event in pygame.event.get(): for event in pygame.event.get():
if event.type == locals.QUIT: if event.type == locals.QUIT:
exit() 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)) screen.blit(background,(0,0))
t_current_pos=[] # T方块坐标
for i in t_current_shape:
pos=(i[0]+center[0],i[1]+center[1]) # 算出方块的坐标
t_current_pos.append(pos) # 方块坐标加进列表
for i in t_current_pos:
pygame.draw.rect(screen,(255,0,0),(i[1]*20-20,i[0]*20-20,20,20),0) # 画方块
pygame.draw.rect(screen,(255,255,255),(i[1]*20-20,i[0]*20-20,20,20),1) # 画白边框
# 得分 # 得分
df = font.render("0",True,(0,0,0)) df = font.render(str(score),True,(0,0,0))
screen.blit(df,(350,60)) screen.blit(df,(350,60))
# 刷新画面 # 刷新画面
pygame.display.update() pygame.display.update()
......
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