Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

Administrator / pygame_lesson10_diy4

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 0
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Snippets
  • Members
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Branches
  • Tags
  • Contributors
  • Graph
  • Compare
  • Charts
Commit 14cbfa07 authored 2 years ago by BellCodeEditor's avatar BellCodeEditor
Browse files
Options
  • Browse Files
  • Download
  • Email Patches
  • Plain Diff

save project

parent eb156673
Hide whitespace changes
Inline Side-by-side
Showing with 71 additions and 0 deletions
  • STKAITI.TTF
  • bg.png
  • my_Tetris.py
STKAITI.TTF 0 → 100644
View file @ 14cbfa07
File added
This diff is collapsed. Click to expand it.
bg.png 0 → 100644
View file @ 14cbfa07
bg.png

46.1 KB

This diff is collapsed. Click to expand it.
my_Tetris.py 0 → 100644
View file @ 14cbfa07
from operator import truediv
import random
import time
import pygame
from pygame import locals
pygame.init() # 初始化
def main():
willInit = True
score = 0
grid_size = 20 # 格子大小
grid_num_width = 15 # 横向格子数量
grid_num_height = 25 # 纵向格子数量
FPS = 60
frame = 0
willFall = True
willCheck = True
contents = [0, random.randint(1, 15)]
# 创建窗口
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) # 字体
while True:
willFall = True
for event in pygame.event.get():
if event.type == locals.QUIT:
exit()
if event.type == locals.KEYDOWN:
if event.key == locals.K_a and contents[1] > 1:
contents[1] -= 1
willFall = False
elif event.key == locals.K_d and contents[1] < 15:
contents[1] += 1
willFall = False
if frame % FPS == 0 and frame != 0:
if willInit:
startTime = time.time()
willInit = False
if time.time() - 0.5 > startTime:
frame = 0
print(str(time.time()) + ' ' + str(startTime))
continue
else:
willInit = True
if willFall:
contents[0] += 1 / FPS
frame += 1
# 将背景图画上去
screen.blit(background, (0, 0))
pygame.draw.rect(screen, (52, 235, 140), ((contents[1] - 1) * 20, (contents[0] - 1) * 20, 20, 20), 0)
pygame.draw.rect(screen, (52, 201, 235), ((contents[1] - 1) * 20, (contents[0] - 1) * 20, 20, 20), 1)
# 得分
score_str = font.render(str(score), True, (50, 168, 82))
screen.blit(score_str, (350, 70))
# 刷新画面
pygame.display.update()
clock.tick(FPS)
main()
\ No newline at end of file
This diff is collapsed. Click to expand it.
  • Write
  • Preview
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