用户:闻香识人gaq6查看:0 回复:0 评论:0 创建时间:2020-10-30T21:19:10
【作品展示】

【作品介绍】
走迷宫的小游戏,超好玩!
【作品源代码】
import turtle
import random
import easygui
__Pen = turtle.Pen()
turtle.bgcolor("#000000")
a = turtle.Pen()
b = turtle.Pen()
c = turtle.Pen()
d = turtle.Pen()
__Pen.pencolor("#ff0000")
__Pen.fillcolor("#ff0000")
a.hideturtle()
b.hideturtle()
c.hideturtle()
d.hideturtle()
a.pencolor("#ffffff")
b.pencolor("#ffffff")
c.pencolor("#ffffff")
d.pencolor("#ffffff")
__Pen.speed(0)
a.speed(0)
b.speed(0)
c.speed(0)
d.speed(0)
角度 = [90, 180, 270, 540]
长度 = [50, 100, 150]
t = 20
for __count in range(t):
a.forward(random.choice(长度))
a.right(random.choice(角度))
b.forward(random.choice(长度))
b.right(random.choice(角度))
c.forward(random.choice(长度))
c.right(random.choice(角度))
d.forward(random.choice(长度))
d.right(random.choice(角度))
d.showturtle()
d.fillcolor("#ffff00")
if easygui.ynbox('是否开始游戏?', 'Codemao', ('是', '否')):
easygui.msgbox('好的,请沿白线走到黄色箭头')
if easygui.ynbox('往前走多少', 'Codemao', ('50', '100')):
__Pen.forward(50)
else:
__Pen.forward(100)
while (round(__Pen.xcor()) != round(d.xcor()) or round(__Pen.ycor()) != round(d.ycor())):
if easygui.ynbox('是否转向?', 'Codemao', ('是', '否')):
if easygui.ynbox('左还是右?', 'Codemao', ('左', '右')):
__Pen.left(90)
else:
__Pen.right(90)
else:
if easygui.ynbox('继续往前多少', 'Codemao', ('50', '100')):
__Pen.forward(50)
else:
__Pen.forward(100)
easygui.msgbox('你赢了')
t += 10
__Pen.clear()
a.clear()
b.clear()
c.clear()
d.clear()
__Pen.penup()
a.penup()
b.penup()
c.penup()
d.penup()
__Pen.goto(0, 0)
a.goto(0, 0)
b.goto(0, 0)
c.goto(0, 0)
d.goto(0, 0)
__Pen.pendown()
a.pendown()
b.pendown()
c.pendown()
d.pendown()
if easygui.ynbox('是否开始下一关?'):
for __count in range(t):
a.forward(random.choice(长度))
a.right(random.choice(角度))
b.forward(random.choice(长度))
b.right(random.choice(角度))
c.forward(random.choice(长度))
c.right(random.choice(角度))
d.forward(random.choice(长度))
d.right(random.choice(角度))
while (round(__Pen.xcor()) != round(d.xcor()) or round(__Pen.ycor()) != round(d.ycor())):
if easygui.ynbox('是否转向?', 'Codemao', ('是', '否')):
if easygui.ynbox('左还是右?', 'Codemao', ('左', '右')):
__Pen.left(90)
else:
__Pen.right(90)
else:
if easygui.ynbox('继续往前多少', 'Codemao', ('50', '100')):
__Pen.forward(50)
else:
__Pen.forward(100)
easygui.msgbox('你赢了')
t += 10
__Pen.clear()
a.clear()
b.clear()
c.clear()
d.clear()
__Pen.penup()
a.penup()
b.penup()
c.penup()
d.penup()
__Pen.goto(0, 0)
a.goto(0, 0)
b.goto(0, 0)
c.goto(0, 0)
d.goto(0, 0)
__Pen.pendown()
a.pendown()
b.pendown()
c.pendown()
d.pendown()
if easygui.ynbox('是否开始下一关?'):
for __count in range(t):
a.forward(random.choice(长度))
a.right(random.choice(角度))
b.forward(random.choice(长度))
b.right(random.choice(角度))
c.forward(random.choice(长度))
c.right(random.choice(角度))
d.forward(random.choice(长度))
d.right(random.choice(角度))
while (round(__Pen.xcor()) != round(d.xcor()) or round(__Pen.ycor()) != round(d.ycor())):
if easygui.ynbox('是否转向?', 'Codemao', ('是', '否')):
if easygui.ynbox('左还是右?', 'Codemao', ('左', '右')):
__Pen.left(90)
else:
__Pen.right(90)
else:
if easygui.ynbox('继续往前多少', 'Codemao', ('50', '100')):
__Pen.forward(50)
else:
__Pen.forward(100)
easygui.msgbox('你赢了')
t += 10
else:
easygui.msgbox('游戏已退出')
else:
easygui.msgbox('游戏已退出')
else:
easygui.msgbox('退出游戏')
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn