Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
pygame_lesson7_diy1
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
d09c8cc8
authored
a year ago
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
96439e85
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
52 deletions
my_game.py
my_game.py
View file @
d09c8cc8
...
...
@@ -12,15 +12,15 @@ class Block(pygame.sprite.Sprite):
self
.
rect
=
self
.
image
.
get_rect
()
self
.
rect
.
x
=
1000
self
.
rect
.
y
=
500
-
self
.
rect
.
height
self
.
score
=
1
self
.
score
=
1
class
Player
(
pygame
.
sprite
.
Sprite
):
def
__init__
(
self
,
image
):
super
()
.
__init__
()
self
.
image
=
image
self
.
rect
=
self
.
image
.
get_rect
()
self
.
rect
.
x
=
150
self
.
rect
.
y
=
400
self
.
rect
.
x
=
150
self
.
rect
.
y
=
400
screen
=
pygame
.
display
.
set_mode
((
1000
,
600
))
pygame
.
display
.
set_caption
(
"悟空酷跑"
)
FPS
=
pygame
.
time
.
Clock
()
# pygame时钟,控制游戏速度(帧数)
...
...
@@ -30,7 +30,7 @@ road = pygame.image.load('road.png') # 路
stone
=
pygame
.
image
.
load
(
'stone.png'
)
# 石头
cacti
=
pygame
.
image
.
load
(
'cacti.png'
)
# 仙人掌
bush
=
pygame
.
image
.
load
(
'bush.png'
)
# 灌木丛
font
=
pygame
.
font
.
Font
(
"STKAITI.TTF"
,
18
)
font
=
pygame
.
font
.
Font
(
"STKAITI.TTF"
,
22
)
hero
=
[
pygame
.
image
.
load
(
'hero1.png'
),
pygame
.
image
.
load
(
'hero2.png'
),
pygame
.
image
.
load
(
'hero3.png'
),
...
...
@@ -40,27 +40,27 @@ a = 0
jump
=
"runing"
y
=
400
t
=
30
block_list
=
pygame
.
sprite
.
Group
()
road_x
=
0
bg_x
=
0
time
=
0
Game
=
True
score
=
0
speed
=
8
music_1
=
pygame
.
mixer
.
Sound
(
"score.wav"
)
old_score
=
0
with
open
(
"score.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
f
:
content
=
f
.
read
()
record
=
json
.
loads
(
content
)
one
=
record
[
"第1名"
]
two
=
record
[
"第2名"
]
three
=
record
[
"第3名"
]
block_list
=
pygame
.
sprite
.
Group
()
road_x
=
0
bg_x
=
0
time
=
0
gameover1
=
True
score
=
0
speed
=
8
music_1
=
pygame
.
mixer
.
Sound
(
"score.wav"
)
old_score
=
0
with
open
(
"score.txt"
,
"r"
,
encoding
=
"utf-8"
)
as
f
:
content
=
f
.
read
()
record
=
json
.
loads
(
content
)
one
=
record
[
"第1名"
]
two
=
record
[
"第2名"
]
three
=
record
[
"第3名"
]
while
True
:
speed
=
8
+
score
//
3
if
score
>
old_score
:
speed
=
8
+
score
//
3
if
score
>
old_score
:
music_1
.
play
()
old_score
=
score
old_score
=
score
for
event
in
pygame
.
event
.
get
():
if
event
.
type
==
locals
.
QUIT
:
# 接收到退出事件后退出程序
...
...
@@ -69,23 +69,23 @@ while True:
if
jump
==
"runing"
:
if
event
.
key
==
locals
.
K_SPACE
:
jump
=
"up"
wukong
=
Player
(
hero
[
a
])
wukong
=
Player
(
hero
[
a
])
if
jump
==
"runing"
:
a
+=
1
if
a
>
4
:
a
=
0
if
Game
==
True
:
a
+=
1
if
a
>
4
:
a
=
0
if
gameover1
==
True
:
if
jump
==
"up"
:
if
t
>
0
:
y
-=
t
wukong
.
rect
.
y
=
y
wukong
.
rect
.
y
=
y
t
-=
2
else
:
jump
=
"down"
if
jump
==
"down"
:
if
t
<=
30
:
y
+=
t
wukong
.
rect
.
y
=
y
wukong
.
rect
.
y
=
y
t
+=
2
else
:
jump
=
"runing"
...
...
@@ -93,43 +93,44 @@ while True:
# 将背景图画上去
bg_x
-=
1
if
bg_x
<-
1000
:
bg_x
=
0
if
bg_x
<-
1000
:
bg_x
=
0
screen
.
blit
(
background
,
(
bg_x
,
0
))
road_x
-=
speed
if
road_x
<-
1000
:
road_x
=
0
road_x
-=
speed
if
road_x
<-
1000
:
road_x
=
0
screen
.
blit
(
road
,
(
road_x
,
500
))
screen
.
blit
(
wukong
.
image
,
(
150
,
y
))
time
+=
1
if
time
>=
60
:
time
=
0
num
=
random
.
randint
(
0
,
50
)
time
+=
1
if
time
>=
60
:
time
=
0
num
=
random
.
randint
(
0
,
50
)
if
num
>
20
:
b
=
Block
(
stone
,
cacti
,
bush
)
b
=
Block
(
stone
,
cacti
,
bush
)
block_list
.
add
(
b
)
for
sprite
in
block_list
:
sprite
.
rect
.
x
-=
speed
sprite
.
rect
.
x
-=
speed
screen
.
blit
(
sprite
.
image
,(
sprite
.
rect
.
x
,
sprite
.
rect
.
y
))
if
sprite
.
rect
.
x
<
0
-
sprite
.
rect
.
width
:
if
sprite
.
rect
.
x
<
0
-
sprite
.
rect
.
width
:
sprite
.
kill
()
if
pygame
.
sprite
.
collide_rect
(
wukong
,
sprite
):
Game_over
=
pygame
.
image
.
load
(
"gameover.png"
)
screen
.
blit
(
Game_
over
,(
400
,
200
))
Game
=
False
gameover
=
pygame
.
image
.
load
(
"gameover.png"
)
screen
.
blit
(
game
over
,(
400
,
200
))
gameover1
=
False
else
:
if
sprite
.
rect
.
x
+
sprite
.
rect
.
width
<
wukong
.
rect
.
x
:
score
+=
sprite
.
score
sprite
.
score
=
0
if
sprite
.
rect
.
x
+
sprite
.
rect
.
width
<
wukong
.
rect
.
x
:
score
+=
sprite
.
score
sprite
.
score
=
0
# 刷新画面
info
=
"分数:"
+
str
(
score
)
text
=
font
.
render
(
info
,
True
,(
255
,
255
,
255
))
info
=
"分数:"
+
str
(
score
)
text
=
font
.
render
(
info
,
True
,(
255
,
255
,
255
))
screen
.
blit
(
text
,(
880
,
20
))
one_1
=
font
.
render
(
"第一名:"
+
str
(
one
),
True
,(
255
,
255
,
255
))
one_1
=
font
.
render
(
"第一名:"
+
str
(
one
),
True
,(
255
,
255
,
255
))
screen
.
blit
(
one_1
,(
880
,
40
))
two_1
=
font
.
render
(
"第二名:"
+
str
(
two
),
True
,(
255
,
255
,
255
))
two_1
=
font
.
render
(
"第二名:"
+
str
(
two
),
True
,(
255
,
255
,
255
))
screen
.
blit
(
two_1
,(
880
,
60
))
three_1
=
font
.
render
(
"第三名:"
+
str
(
on
e
),
True
,(
255
,
255
,
255
))
three_1
=
font
.
render
(
"第三名:"
+
str
(
thre
e
),
True
,(
255
,
255
,
255
))
screen
.
blit
(
three_1
,(
880
,
80
))
pygame
.
display
.
update
()
FPS
.
tick
(
60
)
\ No newline at end of file
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