Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
pygame_lesson3_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
e5b53763
authored
2 years ago
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
auto save
parent
1459fc55
c200937l1354p256a13985/is586967
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
67 additions
and
64 deletions
snake.py
snake.py
View file @
e5b53763
...
@@ -5,11 +5,11 @@ import random
...
@@ -5,11 +5,11 @@ import random
pygame
.
init
()
pygame
.
init
()
# 创建一个窗口
# 创建一个窗口
screen
=
pygame
.
display
.
set_mode
((
400
,
30
0
))
screen
=
pygame
.
display
.
set_mode
((
1320
,
96
0
))
FPSCLOCK
=
pygame
.
time
.
Clock
()
# pygame时钟,控制游戏速度(帧数)
FPSCLOCK
=
pygame
.
time
.
Clock
()
# pygame时钟,控制游戏速度(帧数)
# 背景
# 背景
background
=
pygame
.
image
.
load
(
'
t01526f19edb564ecf5.jp
g'
)
background
=
pygame
.
image
.
load
(
'
bg.pn
g'
)
right
=
pygame
.
image
.
load
(
'right.png'
)
# 头 朝右
right
=
pygame
.
image
.
load
(
'right.png'
)
# 头 朝右
food
=
pygame
.
image
.
load
(
'apple.png'
)
# 食物 苹果
food
=
pygame
.
image
.
load
(
'apple.png'
)
# 食物 苹果
body
=
pygame
.
image
.
load
(
'body.png'
)
# 身体
body
=
pygame
.
image
.
load
(
'body.png'
)
# 身体
...
@@ -18,66 +18,69 @@ up = pygame.image.load('up.png') # 头 朝上
...
@@ -18,66 +18,69 @@ up = pygame.image.load('up.png') # 头 朝上
down
=
pygame
.
image
.
load
(
'down.png'
)
# 头 朝下
down
=
pygame
.
image
.
load
(
'down.png'
)
# 头 朝下
z
=
pygame
.
font
.
Font
(
'neuropol.ttf'
,
18
)
z
=
pygame
.
font
.
Font
(
'neuropol.ttf'
,
18
)
#
x, y = 240, 120
x
,
y
=
240
,
120
#
position = [(180, 90), (180, 120), (210, 120), (x, y)]
position
=
[(
180
,
90
),
(
180
,
120
),
(
210
,
120
),
(
x
,
y
)]
#
setheading = "right"
setheading
=
"right"
#
snake_head = right
snake_head
=
right
#
a = 360
a
=
360
#
b = 300
b
=
300
#
score = 0
score
=
0
#
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
:
#
# 接收到退出事件后退出程序
# 接收到退出事件后退出程序
#
exit()
exit
()
#
if event.type == locals.KEYDOWN:
if
event
.
type
==
locals
.
KEYDOWN
:
#
if event.key == locals.K_RIGHT and setheading != "left":
if
event
.
key
==
locals
.
K_RIGHT
and
setheading
!=
"left"
:
#
setheading = 'right'
setheading
=
'right'
#
snake_head = right
snake_head
=
right
#
if event.key == locals.K_LEFT and setheading != "right":
if
event
.
key
==
locals
.
K_LEFT
and
setheading
!=
"right"
:
#
setheading = 'left'
setheading
=
'left'
#
snake_head = left
snake_head
=
left
#
if event.key == locals.K_UP and setheading != "down":
if
event
.
key
==
locals
.
K_UP
and
setheading
!=
"down"
:
#
setheading = 'up'
setheading
=
'up'
#
snake_head = up
snake_head
=
up
#
if event.key == locals.K_DOWN and setheading != "up":
if
event
.
key
==
locals
.
K_DOWN
and
setheading
!=
"up"
:
#
setheading = 'down'
setheading
=
'down'
#
snake_head = down
snake_head
=
down
# # 设置贪吃蛇的头部坐标
# 设置贪吃蛇的头部坐标
# if setheading == "right":
if
setheading
==
"right"
:
# x += 30
x
+=
30
# elif setheading == "left":
elif
setheading
==
"left"
:
# x -= 30
x
-=
30
# elif setheading == "up":
elif
setheading
==
"up"
:
# y -= 30
y
-=
30
# else:
else
:
# y += 30
y
+=
30
# position.append((x, y))
position
.
append
((
x
,
y
))
# if x == a and y == b:
if
x
==
a
and
y
==
b
:
# a = random.randint(0,22)
a
=
random
.
randint
(
0
,
43
)
# b = random.randint(0,16)
b
=
random
.
randint
(
0
,
31
)
# a *= 30
a
*=
30
# b *= 30
b
*=
30
# score += 10
score
+=
10
# else:
else
:
# position.pop(0)
position
.
pop
(
0
)
# if x < 0 or x > 630 or y < 0 or y > 450:
if
x
<
0
or
x
>
1290
or
y
<
0
or
y
>
930
:
# exit()
print
(
"Your score is:"
+
str
(
score
))
# # 将背景图画上去
exit
()
# screen.blit(background, (0, 0))
# 将背景图画上去
# screen.blit(background, (661, 0))
screen
.
blit
(
background
,
(
0
,
0
))
# # 将贪吃蛇的头画上去
screen
.
blit
(
background
,
(
661
,
0
))
# screen.blit(snake_head, position[-1])
screen
.
blit
(
background
,
(
0
,
481
))
# # 将贪吃蛇的身体画上去
screen
.
blit
(
background
,
(
661
,
481
))
# for i in range(len(position)-1):
# 将贪吃蛇的头画上去
# screen.blit(body, position[i])
screen
.
blit
(
snake_head
,
position
[
-
1
])
# # 将果实画上去
# 将贪吃蛇的身体画上去
# screen.blit(food, (a,b))
for
i
in
range
(
len
(
position
)
-
1
):
# info = "Score:" + str(score)
screen
.
blit
(
body
,
position
[
i
])
# text = z.render(info,True,(0,0,0))
# 将果实画上去
# screen.blit(text,(540,10))
screen
.
blit
(
food
,
(
a
,
b
))
# # 刷新画面
info
=
"Score:"
+
str
(
score
)
# pygame.display.update()
text
=
z
.
render
(
info
,
True
,(
0
,
0
,
0
))
# FPSCLOCK.tick(3)
screen
.
blit
(
text
,(
540
,
10
))
\ No newline at end of file
# 刷新画面
pygame
.
display
.
update
()
FPSCLOCK
.
tick
(
score
/
10
+
3
)
\ 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