用户:
光影炫查看:0 回复:0 评论:0 创建时间:2021-09-01T21:40:04
【作品展示】

【作品介绍】
Snake'
【作品源代码】
import turtle
import easygui
import random
import time
apple_list=[]
Score=0
speed=0.2
def set_screen(width,height,color,title):
global ms,player
ms=turtle.Screen()
ms.bgcolor(color)
ms.setup(width,height)
ms.title(title)
player=True
def set_map():
row=-305
col=305
drawer=turtle.Pen()
drawer.pencolor('gray')
drawer.hideturtle()
drawer.speed(0)
drawer.penup()
drawer.goto(row,col)
drawer.setheading(270)
for i in range(62):
drawer.pendown()
drawer.forward(1000)
row+=10
drawer.penup()
drawer.goto(row,col)
row=-305
col=305
drawer.setheading(0)
for i in range(62):
drawer.pendown()
drawer.forward(1000)
col-=10
drawer.penup()
drawer.goto(row,col)
if True:
def __main__():
main='__main__'
if main=='__main__':
pass
def Snake():
global snake,body
snake=turtle.Pen()
snake.shape('喵')
snake.shapesize(0.5)
snake.penup()
snake.speed(0)
body=[]
def new():
new_body=turtle.Pen()
new_body.penup()
new_body.speed(0)
new_body.goto(snake.xcor(),snake.ycor())
new_body.shapesize(0.5)
new_body.shape('喵')
body.append(new_body)
def run():
snake.forward(10)
def top():
snake.setheading(90)
def bottom():
snake.setheading(270)
def left():
snake.setheading(180)
def right():
snake.setheading(0)
def apple():
global a
xc=-290+10*random.randint(0,58)
yc=-290+10*random.randint(0,58)
a=turtle.Pen()
a.speed(0)
a.shape('喵')
a.penup()
a.color('red')
a.goto(xc,yc)
a.shapesize(0.5)
apple_list.append(a)
def set_body_color(color):
body[len(body)-1].color(color)
def set_two_color():
body[len(body)-1].pencolor(lst[0])
body[len(body)-1].fillcolor(lst[1])
set_screen(600,600,'snow','Snake')
helps=easygui.ynbox('是否绘制地图辅助线?','贪吃蛇3.0',('绘制', '不绘制'))
if helps==True:
set_map()
Snake()
apple()
color=ms.textinput('Snake','贪吃蛇的颜色(英文)')
lst=color.split(',')
if color=='':
color='black'
ms.listen()
ms.onkeypress(top,'Up')
ms.onkeypress(bottom,'Down')
ms.onkeypress(left,'Left')
ms.onkeypress(right,'Right')
for i in range(3):
time.sleep(0.05)
run()
new()
while True:
if snake.xcor()>=300 or snake.xcor()<=-300 or snake.ycor()>=300 or snake.ycor()<=-300: #蛇碰到边缘游戏结束
easygui.msgbox(f'贪吃蛇撞墙而喵!\n \n你的得分:{Score}\n \n点击[好的]键退出', 'Snake', '好的')
turtle.done()
time.sleep(0.005)
run()
for i in body:
if snake.distance(i)<=5:
easygui.msgbox(f'贪吃蛇咬到了自己!\n \n你的得分:{Score}\n \n点击[好的]键退出','Snake','好的')
turtle.done()
if len(lst)==1:
set_body_color(color)
elif len(lst)==2:
set_two_color()
else:
set_body_color(random.choice(lst))
for i in apple_list:
if not snake.distance(i)<=5:
body[0].hideturtle()
body.pop(0)
else:
i.hideturtle()
apple_list.remove(i)
apple()
Score+=1
if speed>0.01:
speed-=0.01
new()
__main__()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn