Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
pygame_lesson11_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
54e06744
authored
May 08, 2022
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
auto save
parent
19bedd98
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
6 deletions
my_Tetris.py
my_Tetris.py
View file @
54e06744
...
@@ -53,20 +53,34 @@ index = random.randint(0, len(shape)-1) # 随机选出一个方块形状绘制
...
@@ -53,20 +53,34 @@ index = random.randint(0, len(shape)-1) # 随机选出一个方块形状绘制
current_shape
=
shape
[
index
]
# 生成索引下标
current_shape
=
shape
[
index
]
# 生成索引下标
color
=
random
.
choice
(
cube_colors
)
# 方块颜色调用random模块的choice方法随机选取一种
color
=
random
.
choice
(
cube_colors
)
# 方块颜色调用random模块的choice方法随机选取一种
def
check
(
center
):
# def定义函数check(),参数center表示行、列
for
cube
in
current_shape
:
# for循环
# 计算出移动后每个小方块的行、列位置
cube
=
(
cube
[
0
]
+
center
[
0
],
cube
[
1
]
+
center
[
1
])
# if判断当前的小方块超出网格的行、列,就返回False
if
cube
[
0
]
<
1
or
cube
[
1
]
<
1
or
cube
[
0
]
>
grid_num_height
\
or
cube
[
1
]
>
grid_num_width
:
return
False
# 返回False
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
event
.
type
==
locals
.
KEYDOWN
:
if
event
.
type
==
locals
.
KEYDOWN
:
if
event
.
key
==
locals
.
K_RIGHT
:
# 向右
if
event
.
key
==
locals
.
K_RIGHT
:
# 向右
if
center
[
1
]
<
15
:
center
[
1
]
=
center
[
1
]
+
1
# 中心点右移1列
center
[
1
]
+=
1
# if判断方块是否超出网格范围,使用检查函数进行检测
if
check
(
center
)
==
False
:
center
[
1
]
=
center
[
1
]
-
1
# 左移1列,位置还原
elif
event
.
key
==
locals
.
K_LEFT
:
# 向左
elif
event
.
key
==
locals
.
K_LEFT
:
# 向左
if
center
[
1
]
>
1
:
center
[
1
]
=
center
[
1
]
-
1
# 中心点左移1列
center
[
1
]
-=
1
# if判断方块有没有超出网格范围,使用检查函数进行检测
if
check
(
center
)
==
False
:
center
[
1
]
=
center
[
1
]
+
1
# 右移1列,位置还原
elif
event
.
key
==
locals
.
K_DOWN
:
# 向下
elif
event
.
key
==
locals
.
K_DOWN
:
# 向下
if
center
[
0
]
<
25
:
center
[
0
]
=
center
[
0
]
+
1
# 中心点下移1行
center
[
0
]
+=
1
# if判断方块有没有超出网格范围,使用检查函数进行检测
if
check
(
center
)
==
False
:
center
[
0
]
=
center
[
0
]
-
1
# 上移1列,位置还原
# 将背景图画上去
# 将背景图画上去
screen
.
blit
(
background
,
(
0
,
0
))
screen
.
blit
(
background
,
(
0
,
0
))
...
...
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