Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
pygame_lesson12_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
9d24fd0f
authored
4 years ago
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
baf2a0e4
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
126 additions
and
14 deletions
a.py
补课.py
a.py
View file @
9d24fd0f
...
@@ -48,17 +48,13 @@ index = random.randint(0,len(shape)-1)
...
@@ -48,17 +48,13 @@ index = random.randint(0,len(shape)-1)
current_shape
=
shape
[
index
]
current_shape
=
shape
[
index
]
color
=
random
.
choice
(
cube_colors
)
color
=
random
.
choice
(
cube_colors
)
num_list
=
[]
for
i
in
range
(
25
):
num_list
.
append
([
0
]
*
15
)
def
check
(
center
):
def
check
(
center
):
for
cube
in
current_shape
:
for
cube
in
current_shape
:
cube
=
(
cube
[
0
]
+
center
[
0
],
cube
[
1
]
+
center
[
1
])
cube
=
(
cube
[
0
]
+
center
[
0
],
cube
[
1
]
+
center
[
1
])
if
cube
[
0
]
<
1
or
cube
[
1
]
<
1
or
cube
[
0
]
>
25
or
cube
[
1
]
>
15
:
if
cube
[
0
]
<
1
or
cube
[
1
]
<
1
or
cube
[
0
]
>
25
or
cube
[
1
]
>
15
:
return
False
return
False
if
num_list
[
cube
[
0
]
-
1
][
cube
[
1
]
-
1
]
!=
0
:
return
False
states
=
False
states
=
False
count
=
0
count
=
0
...
@@ -99,8 +95,7 @@ while True:
...
@@ -99,8 +95,7 @@ while True:
if
check
(
center
)
==
False
:
if
check
(
center
)
==
False
:
center
[
0
]
-=
1
center
[
0
]
-=
1
states
=
False
states
=
False
for
cube
in
current_pos
:
num_list
[
cube
[
0
]
-
1
][
cube
[
1
]
-
1
]
=
color
screen
.
blit
(
background
,
(
0
,
0
))
screen
.
blit
(
background
,
(
0
,
0
))
...
@@ -114,13 +109,7 @@ while True:
...
@@ -114,13 +109,7 @@ while True:
(
cube
[
1
]
*
20
-
20
,
cube
[
0
]
*
20
-
20
,
20
,
20
),
0
)
(
cube
[
1
]
*
20
-
20
,
cube
[
0
]
*
20
-
20
,
20
,
20
),
0
)
pygame
.
draw
.
rect
(
screen
,
(
255
,
255
,
255
),
pygame
.
draw
.
rect
(
screen
,
(
255
,
255
,
255
),
(
cube
[
1
]
*
20
-
20
,
cube
[
0
]
*
20
-
20
,
20
,
20
),
1
)
(
cube
[
1
]
*
20
-
20
,
cube
[
0
]
*
20
-
20
,
20
,
20
),
1
)
for
i
,
row
in
zip
(
range
(
1
,
26
),
num_list
):
for
j
,
colors
in
zip
(
range
(
1
,
16
),
row
):
if
colors
!=
0
:
pygame
.
draw
.
rect
(
screen
,
colors
,
(
j
*
20
-
20
,
i
*
20
-
20
,
20
,
20
),
0
)
pygame
.
draw
.
rect
(
screen
,
(
255
,
255
,
255
),
(
j
*
20
-
20
,
i
*
20
-
20
,
20
,
20
),
1
)
...
...
This diff is collapsed.
Click to expand it.
补课.py
0 → 100644
View file @
9d24fd0f
import
pygame
import
pygame
from
pygame
import
locals
import
random
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
()
background
=
pygame
.
image
.
load
(
'bg.png'
)
font
=
pygame
.
font
.
Font
(
'STKAITI.TTF'
,
60
)
O
=
[[(
0
,
0
),
(
0
,
1
),
(
1
,
0
),
(
1
,
1
)]]
I
=
[[(
0
,
-
1
),
(
0
,
0
),
(
0
,
1
),
(
0
,
2
)],
[(
-
1
,
0
),
(
0
,
0
),
(
1
,
0
),
(
2
,
0
)]]
Z
=
[[(
0
,
-
1
),
(
0
,
0
),
(
1
,
0
),
(
1
,
1
)],
[(
-
1
,
0
),
(
0
,
0
),
(
0
,
-
1
),
(
1
,
-
1
)]]
S
=
[[(
-
1
,
0
),
(
0
,
0
),
(
0
,
1
),
(
1
,
1
)],
[(
1
,
-
1
),
(
1
,
0
),
(
0
,
0
),
(
0
,
1
)]]
T
=
[[(
0
,
-
1
),
(
0
,
0
),
(
0
,
1
),
(
-
1
,
0
)],
[(
-
1
,
0
),
(
0
,
0
),
(
1
,
0
),
(
0
,
1
)],
[(
0
,
-
1
),
(
0
,
0
),
(
0
,
1
),
(
1
,
0
)],
[(
-
1
,
0
),
(
0
,
0
),
(
1
,
0
),
(
0
,
-
1
)]]
J
=
[[(
-
1
,
0
),
(
0
,
0
),
(
1
,
0
),
(
1
,
-
1
)],
[(
0
,
-
1
),
(
0
,
0
),
(
0
,
1
),
(
-
1
,
-
1
)],
[(
-
1
,
0
),
(
0
,
0
),
(
1
,
0
),
(
-
1
,
1
)],
[(
0
,
-
1
),
(
0
,
0
),
(
0
,
1
),
(
1
,
1
)]]
L
=
[[(
-
1
,
0
),
(
0
,
0
),
(
1
,
0
),
(
1
,
1
)],
[(
0
,
-
1
),
(
0
,
0
),
(
0
,
1
),
(
1
,
-
1
)],
[(
-
1
,
0
),
(
0
,
0
),
(
1
,
0
),
(
-
1
,
-
1
)],
[(
0
,
-
1
),
(
0
,
0
),
(
0
,
1
),
(
-
1
,
1
)]]
shape_list
=
[
I
,
J
,
L
,
O
,
S
,
T
,
Z
]
cube_colors
=
[
(
204
,
153
,
153
),
(
102
,
102
,
153
),(
153
,
0
,
102
),
(
255
,
204
,
0
),
(
204
,
0
,
51
),(
255
,
0
,
51
),
(
0
,
102
,
153
),
(
153
,
0
,
51
),
(
204
,
255
,
102
),
(
255
,
153
,
0
)]
center
=
[
2
,
8
]
shape
=
random
.
choice
(
shape_list
)
index
=
random
.
randint
(
0
,
len
(
shape
)
-
1
)
current_shape
=
shape
[
index
]
color
=
random
.
choice
(
cube_colors
)
def
check
(
center
):
for
cube
in
current_shape
:
cube
=
(
cube
[
0
]
+
center
[
0
],
cube
[
1
]
+
center
[
1
])
if
cube
[
0
]
<
1
or
cube
[
1
]
<
1
or
cube
[
0
]
>
25
or
cube
[
1
]
>
15
:
return
False
states
=
False
count
=
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
:
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_UP
:
old_index
=
index
index
+=
1
if
index
>=
len
(
shape
):
index
=
0
current_shape
=
shape
[
index
]
if
check
(
center
)
==
False
:
index
=
old_index
current_shape
=
shape
[
index
]
if
states
==
False
:
states
=
True
center
=
[
2
,
8
]
shape
=
random
.
choice
(
shape_list
)
index
=
random
.
randint
(
0
,
len
(
shape
)
-
1
)
current_shape
=
shape
[
index
]
color
=
random
.
choice
(
cube_colors
)
count
+=
3
if
count
%
FPS
==
0
:
center
[
0
]
+=
1
if
check
(
center
)
==
False
:
center
[
0
]
-=
1
states
=
False
screen
.
blit
(
background
,
(
0
,
0
))
current_pos
=
[]
for
cube
in
current_shape
:
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
),
(
cube
[
1
]
*
20
-
20
,
cube
[
0
]
*
20
-
20
,
20
,
20
),
1
)
text_surface
=
font
.
render
(
str
(
score
),
True
,
(
0
,
0
,
0
))
screen
.
blit
(
text_surface
,
(
350
,
70
))
pygame
.
display
.
update
()
clock
.
tick
(
FPS
)
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