Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
pygame_lesson10_diy01
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
ec612ed2
authored
Jul 24, 2022
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
1d161ee1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
3 deletions
my_Tetris.py
my_Tetris.py
View file @
ec612ed2
...
...
@@ -7,7 +7,14 @@ grid_size = 20 # 格子大小
grid_num_width
=
15
# 横向格子数量
grid_num_height
=
25
# 纵向格子数量
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
,
1
),(
2
,
0
)]
#I型方块相对位置
j_current_shape
=
[(
1
,
0
),(
0
,
0
),(
0
,
1
),(
1
,
-
1
)]
#J型方块相对位置
l_current_shape
=
[(
1
,
0
),(
0
,
0
),(
0
,
1
),(
1
,
1
)]
#L型方块相对位置
o_current_shape
=
[(
1
,
0
),(
0
,
0
),(
0
,
1
),(
-
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
))
pygame
.
display
.
set_caption
(
"俄罗斯方块"
)
...
...
@@ -20,11 +27,30 @@ 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
if
event
.
key
==
locals
.
K_LEFT
:
#按左向左移动
if
center
[
1
]
>
1
:
center
[
1
]
-=
1
if
event
.
key
==
locals
.
K_DOWN
:
#按下向下移动
if
center
[
0
]
<
25
:
center
[
0
]
+=
1
# 将背景图画上去
???
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
)
#绘制小方块边框
# 得分
???
text
=
font
.
render
(
"0"
,
True
,(
0
,
0
,
0
))
screen
.
blit
(
text
,(
340
,
60
))
# 刷新画面
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