Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
pygame_lesson10_diy4
This project
Loading...
Sign in
Toggle navigation
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
e1f67f76
authored
Jul 16, 2022
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
629e9b8f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
51 additions
and
0 deletions
STKAITI.TTF
bg.png
my_Tetris.py
STKAITI.TTF
0 → 100644
View file @
e1f67f76
File added
bg.png
0 → 100644
View file @
e1f67f76
46.1 KB
my_Tetris.py
0 → 100644
View file @
e1f67f76
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
)
# 字体
center
=
[
2
,
8
]
#2是行,8是列
curr_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_RIGHT
:
if
center
[
1
]
<
15
:
center
[
1
]
=
center
[
1
]
+
1
elif
event
.
key
==
locals
.
K_LEFT
:
if
center
[
1
]
>
1
:
center
[
1
]
=
center
[
1
]
-
1
elif
event
.
key
==
locals
.
K_DOWN
:
if
center
[
0
]
<
25
:
center
[
0
]
=
center
[
0
]
+
1
# 将背景图画上去
screen
.
blit
(
background
,(
0
,
0
))
curr_pas
=
[]
for
curr
in
curr_shape
:
aa
=
((
center
[
0
]
+
curr
[
0
]),(
center
[
1
]
+
curr
[
1
]))
curr_pas
.
append
(
aa
)
for
pas
in
curr_pas
:
pygame
.
draw
.
rect
(
screen
,(
194
,
34
,
134
),(
pas
[
1
]
*
20
-
20
,
pas
[
0
]
*
20
-
20
,
20
,
20
),
0
)
#***center[1]*20-20*是x坐标**表示他格子的列乘他的格子数因为是从左上角开始渲染所以要减20,_____center[0]*20-20__是y坐标__表示格子所在的行乘他的格子数因为是从左上角开始渲染所以要减20。得出来位置。
pygame
.
draw
.
rect
(
screen
,(
25
,
223
,
255
),(
pas
[
1
]
*
20
-
20
,
pas
[
0
]
*
20
-
20
,
20
,
20
),
1
)
#***center[1]*20-20*是x坐标**表示边框所在的列乘他的格子数因为是从左上角开始渲染所以要减20,___center[0]*20-20__是y坐标_表示边框所在的行乘他的格子数因为是从左上角开始渲染所以要减20。得出来位置。
# 得分
score_text
=
font
.
render
(
str
(
score
),
True
,(
0
,
0
,
0
))
screen
.
blit
(
score_text
,(
360
,
70
))
# 刷新画面
pygame
.
display
.
update
()
clock
.
tick
(
FPS
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment