Commit 5c506e87 by BellCodeEditor

auto save

parent 27f2c4e7
Showing with 34 additions and 4 deletions
...@@ -15,19 +15,49 @@ clock = pygame.time.Clock() # pygame时钟,控制游戏速度(帧数) ...@@ -15,19 +15,49 @@ clock = pygame.time.Clock() # pygame时钟,控制游戏速度(帧数)
# 载入素材 # 载入素材
background = pygame.image.load('bg.png') background = pygame.image.load('bg.png')
font = pygame.font.Font('STKAITI.TTF', 60) # 字体 font = pygame.font.Font('STKAITI.TTF', 60) # 字体
# 创建列表
center = [2, 8] # 用变量center表示小方块所在位置,参数1行,参数2列
# 创建列表保存T字型方块
current_shape = [(0,-1), (0, 0), (0, 1), (-1, 0)] # 4个方块位置
while True: 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判断按键是否被按下
if event.type == locals.KEYDOWN:
# if判断是否按下右键
if event.key == locals.K_RIGHT:
if center[1] < 15: # if判断方块所在列小于15
center[1] += 1 # 让列表元素2增加1,向右移动
# if判断是否按下左键
if event.key == locals.K_LEFT:
if center[1] > 1: # if判断方块所在列大于1
center[1] -= 1 # 让列表元素2减少1,向左移动
# if判断是否按下下键
if event.key == locals.K_DOWN:
if center[0] < 25: # if判断方块所在行小于1
center[0] += 1 # 让列表元素1增加1,向下移动
# 将背景图画上去 # 将背景图画上去
screen.blit(background, (0, 0)) screen.blit(background, (0, 0))
current_pos =[] # 创建空列表current_pos,用来保存每个小方块所在的行、列
for cube in current_shape: # 对current_shape列表进行遍历
# 让每个小方块的位置与中心点所在行,列相加
pos = (cube[0] + center[0], cube[1] + center[1])
# 添加到current_pos列表中
current_pos.append(pos)
# 绘制小方块 # 绘制小方块
# pygame.draw.rect()方法,参数1窗口,参数2红色,参数3xy坐标及宽高,参数4线宽 for cube in current_pos: # 对current_pos列表进行遍历
pygame.draw.rect(screen,(255,0,0), (120, 20, 20, 20), 0) # pygame.draw.rect()方法,参数1窗口,参数2红色,参数3xy坐标及宽高,参数4线宽
# pygame.draw.rect()方法,参数1窗口,参数2白色,参数3xy坐标及宽高,参数4线宽 pygame.draw.rect(screen,(255,0,0),
pygame.draw.rect(screen,(255,255,255), (120, 20, 20, 20), 1) (cube[1] * 20-20, cube[0] * 20-20, 20, 20), 0)
# pygame.draw.rect()方法,参数1窗口,参数2白色,参数3xy坐标及宽高,参数4线宽
pygame.draw.rect(screen,(255,255,255),
(cube[1] * 20-20, cube[0] * 20-20, 20, 20), 1)
# 用font.render()方法给text_surface赋值 # 用font.render()方法给text_surface赋值
text_surface = font.render(str(score), True, (0, 0, 0)) text_surface = font.render(str(score), True, (0, 0, 0))
# 将分数渲染到右边的分数窗口(350,70) # 将分数渲染到右边的分数窗口(350,70)
......
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