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
b1a67ce4
authored
2 years ago
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
auto save
parent
a20fa37c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
6 deletions
my_Tetris.py
my_Tetris.py
View file @
b1a67ce4
...
...
@@ -51,20 +51,30 @@ index = random.randint(0,len(shape)-1) # 从列表组里面选出对应的索引
current_shape
=
shape
[
index
]
# 最后选出这个形状的最终方位形状
color
=
random
.
choice
(
cube_colors
)
#检测是否超出边缘
def
check
(
center
):
for
i
in
current_shape
:
i
=
(
center
[
0
]
+
i
[
0
],
center
[
1
]
+
i
[
1
])
#算出每一个坐标的方位,与边框的行数列数对比
if
i
[
0
]
<
1
or
i
[
0
]
>
25
or
i
[
1
]
<
1
or
i
[
1
]
>
15
:
return
False
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
elif
event
.
key
==
locals
.
K_LEFT
:
# 向左
if
center
[
1
]
>
1
:
center
[
1
]
+=
1
#之前的写法是针对一个方块的,
if
check
(
center
)
==
False
:
#现在则需要用函数检测每一个方块是否超出边界,如果超出则中心点复位
center
[
1
]
-=
1
elif
event
.
key
==
locals
.
K_LEFT
:
# 向左
center
[
1
]
-=
1
if
check
(
center
)
==
False
:
center
[
1
]
+=
1
elif
event
.
key
==
locals
.
K_DOWN
:
# 向下
if
center
[
0
]
<
25
:
center
[
0
]
+=
1
center
[
0
]
+=
1
if
check
(
center
)
==
False
:
center
[
0
]
-=
1
# 将背景图画上去
screen
.
blit
(
background
,
(
0
,
0
))
...
...
This diff is collapsed.
Click to expand it.
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