用户:
卡布叻曲琦饼干查看:0 回复:0 评论:0 创建时间:2023-12-14T18:01:17
【作品展示】

【作品介绍】
游戏规则:橙色是橙子,加一长度,蓝色是喵,减三长度
初始零分,加一长度一分
初始蛇身白色,5分绿色,10分黄色,20分红色30分狂暴,喵
喵后达到50分胜利
如在游戏中,按下空格加速
按下Z键暂停,再按下Z解除暂停
每复活20次重置一次游戏
暂未解决的问题:在复活点附近喵亡会造成一直复活不了的情况
【作品源代码】
import pygame
import random
import time
import sys
def pri(text):
for e in text:
sys.stdout.write(e)
sys.stdout.flush()
time.sleep(0.08)
time.sleep(0.07)
sys.stdout.write("\n")
pri("请输入你想听的歌曲编号:(输入其他默认是普通背景音乐)\n1.贪吃蛇音乐\n2.小城夏天\n3.逆战\n4.平凡之路")
a = int(input())
pygame.init()
pygame.mixer.init()
if a == 1:
pygame.mixer.music.load("背景音乐.mp3")
pygame.mixer.music.set_volume(0.3)
elif a == 4:
pygame.mixer.music.load("平凡之路.mp3")
pygame.mixer.music.set_volume(0.05)
elif a == 5:
pygame.mixer.music.load("阳光开朗大男孩.mp3")
pygame.mixer.music.set_volume(0.05)
elif a == 3:
pygame.mixer.music.load("逆战.mp3")
pygame.mixer.music.set_volume(0.05)
elif a == 2:
pygame.mixer.music.load("小城夏天.mp3")
pygame.mixer.music.set_volume(0.05)
else:
pygame.mixer.music.load("背景音乐.mp3")
pygame.mixer.music.set_volume(0.3)
pygame.mixer.music.play(-1, 0)
ss, yy, qq = random.randrange(30, 230), random.randrange(
30, 230), random.randrange(30, 230)
image = pygame.image.load("贪吃蛇蛇头.png")
cw = pygame.mixer.Sound("错误.wav")
go = pygame.mixer.Sound("失败.wav")
go.set_volume(1.2)
df = pygame.mixer.Sound("得分.wav")
df.set_volume(0.2)
sl = pygame.mixer.Sound("胜利.wav")
sl.set_volume(0.3)
start_img = pygame.image.load("开始按钮.png")
stbj = pygame.image.load("背景图片.png")
chw = pygame.image.load("重玩.png")
bug = pygame.image.load("bug.png")
zti = pygame.image.load("暂停.jpg")
syqs = 0
syqy = 0
syqq = 0
hy = 0
zt = 0
dx = 0
start = 0
nl = 100
j = 0
o = 0
js = False
S_W = 1200
S_H = 600
CELL_SIZE = 20
gray = (40, 40, 40)
body_color = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)
orange = (255, 130, 0)
blue = (0, 0, 255)
light_blue = (0, 255, 255)
white = (255, 255, 255)
snake_pos = [80, 80]
snake_body = [[80, 80], [60, 80], [40, 80]]
target_pos = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos2 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos3 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos4 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos5 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos6 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos7 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos8 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos9 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos10 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos11 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos12 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos13 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos14 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos15 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos16 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos17 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos18 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos19 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
target_pos20 = [int(random.randrange(1, 59)*CELL_SIZE),
int(random.randrange(1, 30)*CELL_SIZE)]
flag = 1
flag2 = 1
flag3 = 1
flag4 = 1
flag5 = 1
flag6 = 1
flag7 = 1
flag8 = 1
flag9 = 1
flag10 = 1
flag11 = 1
flag12 = 1
flag13 = 1
flag14 = 1
flag15 = 1
flag16 = 1
flag17 = 1
flag18 = 1
flag19 = 1
flag20 = 1
score = 0
level = 10
gameover = 0
fc = 0
fz = 0
direction = change_dir = 'right'
screen = pygame.display.set_mode((S_W, S_H))
pygame.display.set_caption("贪吃蛇")
def wait_for_replay():
global gameover, snake_pos, direction, change_dir, fc, snake_body, score, o, dx
if o == 0:
go.play()
o = 1
if fc-dx == 20:
dx += 20
score = 0
snake_body = [[80, 80], [60, 80], [40, 80]]
font = pygame.font.SysFont("SimHei", 75)
gameover_show = font.render("GAME OVER", True, red)
change_dir = direction = "right"
snake_pos = [80, 80]
if len(snake_body) == 0:
score = 0
snake_body = [[80, 80], [60, 80], [40, 80]]
for evt in pygame.event.get():
if (evt.type == pygame.QUIT):
pygame.quit()
sys.exit(1)
if 475 < mouse_pos[0] < 710 and 355 < mouse_pos[1] < 450:
if mouse_press[0] == 1:
gameover = 0
fc += 1
o = 0
if 540 < mouse_pos[0] < 喵0 and 455 < mouse_pos[1] < 520:
if mouse_press[0] == 1:
gameover = 0
snake_body = [[80, 80], [60, 80], [40, 80]]
o = 0
screen.blit(gameover_show, (440, 230))
screen.blit(chw, (470, 350))
screen.blit(bug, (540, 455))
pygame.display.update()
def restart():
global start, syqs, syqy, syqq, hy
for evt in pygame.event.get():
if (evt.type == pygame.QUIT):
pygame.quit()
sys.exit(1)
if evt.type == pygame.KEYDOWN:
if evt.key == pygame.K_s or syqs == 1:
syqs = 1
if evt.key == pygame.K_y or syqy == 1:
syqy = 1
if evt.key == pygame.K_q or syqq == 1:
syqq = 1
hy = 1
pri("会员系统已激活!")
if 430 < mouse_pos[0] < 710 and 350 < mouse_pos[1] < 425:
if mouse_press[0] == 1:
start = 1
screen.blit(stbj, (0, 0))
screen.blit(start_img, (430, 350))
pygame.display.update()
def victory():
global j
if j == 0:
sl.play(0)
j = 1
font3 = pygame.font.SysFont("SimHei", 90)
victory_show = font3.render("Victory", True, light_blue)
image_surf = pygame.Surface(image.get_size(), pygame.SRCALPHA)
image_surf.blit(image, (0, 0))
for alpha in range(0, 255, 10):
victory_show.set_alpha(alpha)
image_surf.set_alpha(alpha)
for evt in pygame.event.get():
if (evt.type == pygame.QUIT):
pygame.quit()
sys.exit(1)
screen.blit(victory_show, (490, 250))
screen.blit(image_surf, (570, 350))
pygame.display.update()
pygame.time.delay(500)
def zati():
global zt
font4 = pygame.font.SysFont("SimHei", 75)
zt_show = font.render("暂停", True, white)
for evt in pygame.event.get():
if (evt.type == pygame.QUIT):
pygame.quit()
exit()
if evt.type == pygame.KEYDOWN:
if evt.key == pygame.K_z:
zt = 0
screen.blit(zt_show, (560, 250))
pygame.display.update()
def draw_grid():
for i in range(0, S_W, CELL_SIZE):
pygame.draw.line(screen, gray, (i, 0), (i, S_H))
for j in range(0, S_H, CELL_SIZE):
pygame.draw.line(screen, gray, (0, j), (S_W, j))
def draw_snake(body):
for position in body:
pygame.draw.rect(
screen, body_color, (position[0], position[1], CELL_SIZE, CELL_SIZE))
while True:
mouse_press = pygame.mouse.get_pressed()
mouse_pos = pygame.mouse.get_pos()
t = pygame.time.Clock()
t.tick(level)
font = pygame.font.SysFont("SimHei", 75)
font2 = pygame.font.SysFont("SimHei", 20)
fc_show = font2.render("复活次数:%d" % fc, True, white)
nl_show = font2.render("当前能量:%d" % nl, True, white)
font4 = pygame.font.SysFont("SimHei", 30)
score_show = font4.render("Score:%d" % score, True, white)
if start == 0:
restart()
else:
if gameover == 1:
wait_for_replay()
else:
if zt == 1:
zati()
else:
if score > 49:
victory()
elif score > -1:
level = 20
# body_color = (random.randrange(0, 255), random.randrange(
# 0, 255), random.randrange(0, 255))
body_color = (ss, yy, qq)
if body_color[0] < 30:
ss += random.randrange(1, 10)
elif body_color[0] > 220:
ss += random.randrange(-10, 0)
elif body_color[0] > 30:
ss += random.randrange(-10, 10)
elif body_color[0] < 220:
ss += random.randrange(-10, 0)
if body_color[1] < 30:
yy += random.randrange(1, 10)
elif body_color[1] > 220:
yy += random.randrange(-10, 0)
elif body_color[1] > 30:
yy += random.randrange(-10, 10)
elif body_color[1] < 220:
yy += random.randrange(-10, 0)
if body_color[2] < 30:
qq += random.randrange(1, 10)
elif body_color[2] > 220:
qq += random.randrange(-10, 0)
elif body_color[2] > 30:
qq += random.randrange(-10, 10)
elif body_color[2] < 220:
qq += random.randrange(-10, 0)
for evt in pygame.event.get():
if (evt.type == pygame.QUIT):
pygame.quit()
exit()
if evt.type == pygame.KEYDOWN:
if evt.key == pygame.K_SPACE:
js = True
if evt.key == pygame.K_RIGHT:
change_dir = 'right'
if evt.key == pygame.K_LEFT:
change_dir = 'left'
if evt.key == pygame.K_UP:
change_dir = 'up'
if evt.key == pygame.K_DOWN:
change_dir = 'down'
if evt.key == pygame.K_z:
zt = 1
if evt.type == pygame.KEYUP:
if evt.key == pygame.K_SPACE:
js = False
if js == True and nl > 2:
nl -= 3
level += 7
else:
if nl != 100:
nl += 0.5
if hy == 1:
nl = 100
direction = change_dir
if direction == 'right':
snake_pos[0] += CELL_SIZE
if direction == 'left':
snake_pos[0] -= CELL_SIZE
if direction == 'down':
snake_pos[1] += CELL_SIZE
if direction == 'up':
snake_pos[1] -= CELL_SIZE
snake_body.insert(0, list(snake_pos))
if snake_pos[0] == target_pos[0] and snake_pos[1] == target_pos[1]:
df.play(0)
flag = 0
score += 1
elif snake_pos[0] == target_pos2[0] and snake_pos[1] == target_pos2[1]:
df.play(0)
flag2 = 0
score += 1
elif snake_pos[0] == target_pos3[0] and snake_pos[1] == target_pos3[1]:
df.play(0)
flag3 = 0
score += 1
elif snake_pos[0] == target_pos4[0] and snake_pos[1] == target_pos4[1]:
df.play(0)
flag4 = 0
score += 1
elif snake_pos[0] == target_pos5[0] and snake_pos[1] == target_pos5[1]:
df.play(0)
flag5 = 0
score += 1
elif snake_pos[0] == target_pos6[0] and snake_pos[1] == target_pos6[1]:
df.play(0)
flag6 = 0
score += 1
elif snake_pos[0] == target_pos7[0] and snake_pos[1] == target_pos7[1]:
df.play(0)
flag7 = 0
score += 1
elif snake_pos[0] == target_pos8[0] and snake_pos[1] == target_pos8[1]:
df.play(0)
flag8 = 0
score += 1
elif snake_pos[0] == target_pos9[0] and snake_pos[1] == target_pos9[1]:
df.play(0)
flag9 = 0
score += 1
elif snake_pos[0] == target_pos10[0] and snake_pos[1] == target_pos10[1]:
df.play(0)
flag10 = 0
score += 1
elif snake_pos[0] == target_pos11[0] and snake_pos[1] == target_pos11[1]:
df.play(0)
flag11 = 0
score += 1
elif snake_pos[0] == target_pos12[0] and snake_pos[1] == target_pos12[1]:
df.play(0)
flag12 = 0
score += 1
elif snake_pos[0] == target_pos13[0] and snake_pos[1] == target_pos13[1]:
df.play(0)
flag13 = 0
score += 1
elif snake_pos[0] == target_pos14[0] and snake_pos[1] == target_pos14[1]:
df.play(0)
flag14 = 0
score += 1
elif snake_pos[0] == target_pos15[0] and snake_pos[1] == target_pos15[1]:
df.play(0)
flag15 = 0
score += 1
elif snake_pos[0] == target_pos16[0] and snake_pos[1] == target_pos16[1]:
df.play(0)
flag16 = 0
score += 1
elif snake_pos[0] == target_pos17[0] and snake_pos[1] == target_pos17[1]:
df.play(0)
flag17 = 0
score += 1
elif snake_pos[0] == target_pos18[0] and snake_pos[1] == target_pos18[1]:
df.play(0)
flag18 = 0
score += 1
elif snake_pos[0] == target_pos19[0] and snake_pos[1] == target_pos19[1]:
df.play(0)
flag19 = 0
score += 1
elif snake_pos[0] == target_pos20[0] and snake_pos[1] == target_pos20[1]:
df.play(0)
flag20 = 0
score += 1
else:
snake_body.pop()
if flag == 0:
x = random.randrange(1, 59)
y = random.randrange(1, 30)
target_pos = [int(x*CELL_SIZE), int(y*CELL_SIZE)]
flag = 1
if flag2 == 0:
x2 = random.randrange(1, 59)
y2 = random.randrange(1, 30)
target_pos2 = [int(x2*CELL_SIZE), int(y2*CELL_SIZE)]
flag2 = 1
if flag3 == 0:
x3 = random.randrange(1, 59)
y3 = random.randrange(1, 30)
target_pos3 = [int(x3*CELL_SIZE), int(y3*CELL_SIZE)]
flag3 = 1
if flag4 == 0:
x4 = random.randrange(1, 59)
y4 = random.randrange(1, 30)
target_pos4 = [int(x4*CELL_SIZE), int(y4*CELL_SIZE)]
flag4 = 1
if flag5 == 0:
x5 = random.randrange(1, 59)
y5 = random.randrange(1, 30)
target_pos5 = [int(x5*CELL_SIZE), int(y5*CELL_SIZE)]
flag5 = 1
if flag6 == 0:
x6 = random.randrange(1, 59)
y6 = random.randrange(1, 30)
target_pos6 = [int(x6*CELL_SIZE), int(y6*CELL_SIZE)]
flag6 = 1
if flag7 == 0:
x7 = random.randrange(1, 59)
y7 = random.randrange(1, 30)
target_pos7 = [int(x7*CELL_SIZE), int(y7*CELL_SIZE)]
flag7 = 1
if flag8 == 0:
x8 = random.randrange(1, 59)
y8 = random.randrange(1, 30)
target_pos8 = [int(x8*CELL_SIZE), int(y8*CELL_SIZE)]
flag8 = 1
if flag9 == 0:
x9 = random.randrange(1, 59)
y9 = random.randrange(1, 30)
target_pos9 = [int(x9*CELL_SIZE), int(y9*CELL_SIZE)]
flag9 = 1
if flag10 == 0:
x10 = random.randrange(1, 59)
y10 = random.randrange(1, 30)
target_pos10 = [int(x10*CELL_SIZE), int(y10*CELL_SIZE)]
flag10 = 1
if flag11 == 0:
x11 = random.randrange(1, 59)
y11 = random.randrange(1, 30)
target_pos11 = [int(x11*CELL_SIZE), int(y11*CELL_SIZE)]
flag11 = 1
if flag12 == 0:
x12 = random.randrange(1, 59)
y12 = random.randrange(1, 30)
target_pos12 = [int(x12*CELL_SIZE), int(y12*CELL_SIZE)]
flag12 = 1
if flag13 == 0:
x13 = random.randrange(1, 59)
y13 = random.randrange(1, 30)
target_pos13 = [int(x13*CELL_SIZE), int(y13*CELL_SIZE)]
flag13 = 1
if flag14 == 0:
x14 = random.randrange(1, 59)
y14 = random.randrange(1, 30)
target_pos14 = [int(x14*CELL_SIZE), int(y14*CELL_SIZE)]
flag14 = 1
if flag15 == 0:
x15 = random.randrange(1, 59)
y15 = random.randrange(1, 30)
target_pos15 = [int(x15*CELL_SIZE), int(y15*CELL_SIZE)]
flag15 = 1
if flag16 == 0:
x16 = random.randrange(1, 59)
y16 = random.randrange(1, 30)
target_pos16 = [int(x16*CELL_SIZE), int(y16*CELL_SIZE)]
flag16 = 1
if flag17 == 0:
x17 = random.randrange(1, 59)
y17 = random.randrange(1, 30)
target_pos17 = [int(x17*CELL_SIZE), int(y17*CELL_SIZE)]
flag17 = 1
if flag18 == 0:
x18 = random.randrange(1, 59)
y18 = random.randrange(1, 30)
target_pos18 = [int(x18*CELL_SIZE), int(y18*CELL_SIZE)]
flag18 = 1
if flag19 == 0:
x19 = random.randrange(1, 59)
y19 = random.randrange(1, 30)
target_pos19 = [int(x19*CELL_SIZE), int(y19*CELL_SIZE)]
flag19 = 1
if flag20 == 0:
x20 = random.randrange(1, 59)
y20 = random.randrange(1, 30)
target_pos20 = [int(x20*CELL_SIZE), int(y20*CELL_SIZE)]
flag20 = 1
screen.fill(black)
draw_snake(snake_body)
draw_grid()
draw_snake(snake_body)
pygame.draw.rect(
screen, orange, (target_pos[0], target_pos[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos2[0], target_pos2[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos3[0], target_pos3[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos4[0], target_pos4[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos5[0], target_pos5[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos6[0], target_pos6[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos7[0], target_pos7[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos8[0], target_pos8[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos9[0], target_pos9[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos10[0], target_pos10[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos11[0], target_pos11[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos12[0], target_pos12[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos13[0], target_pos13[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos14[0], target_pos14[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos15[0], target_pos15[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos16[0], target_pos16[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos17[0], target_pos17[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos18[0], target_pos18[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos19[0], target_pos19[1], 20, 20))
pygame.draw.rect(
screen, orange, (target_pos20[0], target_pos20[1], 20, 20))
screen.blit(score_show, (20, 10))
screen.blit(fc_show, (1080, 570))
screen.blit(nl_show, (1060, 0))
pygame.display.flip()
if snake_pos[0] >= S_W:
snake_pos[0] = 0
elif snake_pos[0] < 0:
snake_pos[0] = S_W
elif snake_pos[1] >= S_H:
snake_pos[1] = 0
elif snake_pos[1] < 0:
snake_pos[1] = S_H
else:
if score < 5:
level = 13
body_color = (255, 255, 255)
if score > 4:
level = random.randrange(15, 17)
body_color = (0, 255, 0)
if score > 9:
level = random.randrange(17, 19)
body_color = (255, 255, 0)
if score > 19:
level = random.randrange(19, 21)
body_color = (255, 0, 0)
for evt in pygame.event.get():
if (evt.type == pygame.QUIT):
pygame.quit()
exit()
if evt.type == pygame.KEYDOWN:
if evt.key == pygame.K_SPACE:
js = True
if evt.key == pygame.K_RIGHT:
change_dir = 'right'
if evt.key == pygame.K_LEFT:
change_dir = 'left'
if evt.key == pygame.K_UP:
change_dir = 'up'
if evt.key == pygame.K_DOWN:
change_dir = 'down'
if evt.key == pygame.K_z:
zt = 1
if evt.type == pygame.KEYUP:
if evt.key == pygame.K_SPACE:
js = False
if js == True and nl > 2:
nl -= 3
level += 7
else:
if nl != 100:
nl += 0.5
if change_dir == 'right' and direction == 'left':
change_dir = 'left'
if change_dir == 'left' and direction == 'right':
change_dir = 'right'
if change_dir == 'up' and direction == 'down':
change_dir = 'down'
if change_dir == 'down' and direction == 'up':
change_dir = 'up'
direction = change_dir
if direction == 'right':
snake_pos[0] += CELL_SIZE
if direction == 'left':
snake_pos[0] -= CELL_SIZE
if direction == 'down':
snake_pos[1] += CELL_SIZE
if direction == 'up':
snake_pos[1] -= CELL_SIZE
snake_body.insert(0, list(snake_pos))
if hy == 0:
if snake_pos[0] == target_pos[0] and snake_pos[1] == target_pos[1]:
df.play(0)
flag = 0
flag2 = 0
flag3 = 0
flag4 = 0
score += 1
else:
snake_body.pop()
else:
nl = 100
if snake_pos[0] == target_pos[0] and snake_pos[1] == target_pos[1]:
df.play(0)
flag = 0
flag2 = 0
flag3 = 0
flag4 = 0
score += 3
else:
snake_body.pop()
if flag == 0:
x = random.randrange(1, 58)
y = random.randrange(1, 28)
target_pos = [int(x*CELL_SIZE), int(y*CELL_SIZE)]
target_pos5 = [int(x*CELL_SIZE), int(y*CELL_SIZE)]
target_pos6 = [int(x*CELL_SIZE), int(y*CELL_SIZE)]
flag = 1
if snake_pos[0] == target_pos2[0] and snake_pos[1] == target_pos2[1]:
cw.play(0)
flag2 = 0
score -= 3
snake_body.pop()
snake_body.pop()
snake_body.pop()
if flag2 == 0:
x2 = random.randrange(1, 58)
y2 = random.randrange(1, 28)
target_pos2 = [int(x2*CELL_SIZE), int(y2*CELL_SIZE)]
flag2 = 1
if snake_pos[0] == target_pos3[0] and snake_pos[1] == target_pos3[1]:
cw.play(0)
flag3 = 0
score -= 3
snake_body.pop()
snake_body.pop()
snake_body.pop()
if flag3 == 0:
x3 = random.randrange(1, 58)
y3 = random.randrange(1, 28)
target_pos3 = [int(x3*CELL_SIZE), int(y3*CELL_SIZE)]
flag3 = 1
if snake_pos[0] == target_pos4[0] and snake_pos[1] == target_pos4[1]:
cw.play(0)
flag4 = 0
score -= 3
snake_body.pop()
snake_body.pop()
snake_body.pop()
if flag4 == 0:
x4 = random.randrange(1, 58)
y4 = random.randrange(1, 28)
target_pos4 = [int(x4*CELL_SIZE), int(y4*CELL_SIZE)]
flag4 = 1
screen.fill(black)
draw_snake(snake_body)
draw_grid()
draw_snake(snake_body)
pygame.draw.rect(
screen, orange, (target_pos[0], target_pos[1], 20, 20))
pygame.draw.rect(
screen, blue, (target_pos2[0], target_pos2[1], 20, 20))
pygame.draw.rect(
screen, blue, (target_pos3[0], target_pos3[1], 20, 20))
pygame.draw.rect(
screen, blue, (target_pos4[0], target_pos4[1], 20, 20))
screen.blit(score_show, (20, 10))
screen.blit(fc_show, (1080, 570))
screen.blit(nl_show, (1060, 0))
pygame.display.flip()
if snake_pos[0] >= S_W or snake_pos[0] < 0 or snake_pos[1] >= S_H or snake_pos[1] < 0:
gameover = 1
for i in snake_body[1:]:
if snake_pos[0] == i[0] and snake_pos[1] == i[1]:
gameover = 1
if len(snake_body) == 0:
gameover = 1
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn