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
4d58f328
authored
a year ago
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
auto save
parent
1dd7b9f7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
4 deletions
my_Tetris.py
my_Tetris.py
View file @
4d58f328
import
pygame
from
pygame
import
locals
import
random
pygame
.
init
()
# 初始化
score
=
0
grid_size
=
20
# 格子大小
...
...
@@ -46,7 +46,10 @@ cube_colors = [
center
=
[
2
,
8
]
# 第2行第8列
current_shape
=
[(
0
,
-
1
),
(
0
,
0
),
(
0
,
1
),
(
-
1
,
0
)]
shape
=
random
.
choice
(
shape_list
)
index
=
random
.
randint
(
0
,
len
(
shape
))
s
=
shape
[
index
]
color
=
random
.
choice
(
cube_colors
)
while
True
:
for
event
in
pygame
.
event
.
get
():
if
event
.
type
==
locals
.
QUIT
:
...
...
@@ -66,14 +69,14 @@ while True:
screen
.
blit
(
background
,
(
0
,
0
))
# 计算出所有小方块的行、列位置
current_pos
=
[]
for
cube
in
current_shape
:
for
cube
in
s
:
pos
=
(
cube
[
0
]
+
center
[
0
],
cube
[
1
]
+
center
[
1
])
current_pos
.
append
(
pos
)
# 取出所有小方块的行、列位置,计算坐标,绘制俄罗斯方块
for
cube
in
current_pos
:
pygame
.
draw
.
rect
(
screen
,
color
,
(
cube
[
1
]
*
20
-
20
,
cube
[
0
]
*
20
-
20
,
20
,
20
),
0
)
pygame
.
draw
.
rect
(
screen
,
(
255
,
255
,
255
)
,
pygame
.
draw
.
rect
(
screen
,
color
,
(
cube
[
1
]
*
20
-
20
,
cube
[
0
]
*
20
-
20
,
20
,
20
),
1
)
# 得分
text_surface
=
font
.
render
(
str
(
score
),
True
,
(
0
,
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