Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
pygame_lesson8_diy4
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
6efff003
authored
3 years ago
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
e5b4c534
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
59 additions
and
40 deletions
my_game.py
my_game.py
View file @
6efff003
...
@@ -41,6 +41,9 @@ obstacle=Block(bush, stone, cacti)
...
@@ -41,6 +41,9 @@ obstacle=Block(bush, stone, cacti)
#rect.y = 500 - rect.height
#rect.y = 500 - rect.height
road_x
=
0
road_x
=
0
bg_x
=
0
bg_x
=
0
gamestate
=
True
time
=
0
block_list
=
pygame
.
sprite
.
Group
()
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
:
...
@@ -51,42 +54,58 @@ while True:
...
@@ -51,42 +54,58 @@ while True:
if
event
.
key
==
locals
.
K_SPACE
:
if
event
.
key
==
locals
.
K_SPACE
:
jumpState
=
"up"
jumpState
=
"up"
wukong
=
Player
(
hero
[
index
])
wukong
=
Player
(
hero
[
index
])
if
jumpState
==
"runing"
:
# 跑步状态下
if
gamestate
==
True
:
index
+=
1
if
jumpState
==
"runing"
:
# 跑步状态下
if
index
>=
5
:
index
+=
1
index
=
0
if
index
>=
5
:
if
jumpState
==
"up"
:
# 起跳状态
index
=
0
if
t
>
0
:
if
jumpState
==
"up"
:
# 起跳状态
y
-=
t
if
t
>
0
:
wukong
.
rect
.
y
=
y
y
-=
t
t
-=
2
wukong
.
rect
.
y
=
y
else
:
t
-=
2
jumpState
=
"down"
else
:
if
jumpState
==
"down"
:
# 降落状态
jumpState
=
"down"
if
t
<=
30
:
if
jumpState
==
"down"
:
# 降落状态
y
+=
t
if
t
<=
30
:
wukong
.
rect
.
y
=
y
y
+=
t
t
+=
2
wukong
.
rect
.
y
=
y
else
:
t
+=
2
jumpState
=
"runing"
else
:
t
=
30
jumpState
=
"runing"
bg_x
-=
1
t
=
30
if
bg_x
<=-
1000
:
bg_x
-=
1
bg_x
=
0
if
bg_x
<=-
1000
:
screen
.
blit
(
background
,
(
bg_x
,
0
))
# 远处背景
bg_x
=
0
road_x
-=
8
screen
.
blit
(
background
,
(
bg_x
,
0
))
# 远处背景
if
road_x
<=-
1000
:
road_x
-=
8
road_x
=
0
if
road_x
<=-
1000
:
screen
.
blit
(
road
,
(
road_x
,
500
))
road_x
=
0
screen
.
blit
(
wukong
.
image
,
(
150
,
y
))
# 悟空
screen
.
blit
(
road
,
(
road_x
,
500
))
if
obstacle
.
rect
.
x
<=
0
-
obstacle
.
rect
.
width
:
# 障碍物消失
screen
.
blit
(
wukong
.
image
,
(
150
,
y
))
# 悟空
# 创建障碍物对象
if
obstacle
.
rect
.
x
<=
0
-
obstacle
.
rect
.
width
:
# 障碍物消失
obstacle
=
Block
(
bush
,
stone
,
cacti
)
# 创建障碍物对象
#rect = obstacle.get_rect()
obstacle
=
Block
(
bush
,
stone
,
cacti
)
#rect.x = 1000
#rect = obstacle.get_rect()
#rect.y = 500 - rect.height
#rect.x = 1000
obstacle
.
rect
.
x
-=
8
#rect.y = 500 - rect.height
screen
.
blit
(
obstacle
.
image
,
(
obstacle
.
rect
.
x
,
obstacle
.
rect
.
y
))
obstacle
.
rect
.
x
-=
8
screen
.
blit
(
obstacle
.
image
,
(
obstacle
.
rect
.
x
,
obstacle
.
rect
.
y
))
pygame
.
display
.
update
()
time
+=
1
FPS
.
tick
(
60
)
if
time
>=
60
:
\ No newline at end of file
time
=
0
num
=
random
.
randint
(
0
,
50
)
if
num
>
20
:
obstacle
=
Block
(
bush
,
cacti
,
stone
)
block_list
.
add
(
obstacle
)
for
sprite
in
block_list
:
sprite
.
rect
.
x
-=
8
screen
.
blit
(
sprite
.
image
,(
sprite
.
rect
.
x
,
sprite
.
rect
.
y
))
if
sprite
.
rect
.
x
<=
0
-
sprite
.
rect
.
width
:
sprite
.
kill
if
pygame
.
sprite
.
collide_rect
(
wukong
,
sprite
):
gameover
=
pygame
.
image
.
load
(
'gameover.png'
)
screen
.
blit
(
gameover
,(
400
,
200
))
gamestate
=
False
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