用户:徐竟成查看:0 回复:0 评论:0 创建时间:2023-07-15T09:55:06
【作品展示】

【作品介绍】
垃圾
【作品源代码】
import turtle as t
l=0
o=1
v=3
# -----------------------------------------------------------------
# 1.基本信息区,放置游戏相关的一些信息
import turtle as t
c=t.Pen()
t.tracer(False)
g = [[3, 0, 0, 0, 0, 0],
[3, 0, 1, 1, 1, 0],
[0, 0, 1, 2, 4, 0],
[0, 1, 1, 1, 0, 0],
[0, 4, 2, 1, 1, 0],
[0, 0, 0, 0, 0, 0]]
f = ['墙壁.gif', '通道.gif', '箱子.gif', '空.gif', '目标.gif', '传送门.gif', '陷阱.gif']
x = 6
y = 6
size = 70
x_ = -(x-1)/2*size
y_ = (y-1)/2*size
# ------------------------------------------------------------
# 2.功能模块区,主要放置函数
def draw(pen,img,x,y):
pen.shape(img)
global x_ , y_ ,size
pen.goto(x_+x*size,y_-y*size)
pen.stamp()
le=1
def ww():
global o, v, g
v -= 1
if g[v][o] == 0:
v += 1
if g[v][o] == 2:
if g[v-1][o] == 0 or g[v-1][o] == 2:
v += 1
else:
g[v][o] = 1
g[v-1][o] = 2
print('好')
return
def s():
global o, v, g
v += 1
if g[v][o] == 0 :
v -= 1
if g[v][o] == 2:
if g[v+1][o] == 0 or g[v+1][o] == 2:
v -= 1
else:
g[v][o] = 1
g[v+1][o] = 2
return
def aa():
global o,v,g
o -= 1
if g[v][o] == 0 :
o += 1
if g[v][o] == 2:
if g[v][o-1] == 0 or g[v][o-2] == 2:
o += 1
else:
g[v][o] = 1
g[v][o-1] = 2
return
def d():
global o,v
o+=1
if g[v][o] == 0:
o -= 1
if g[v][o] == 2:
if g[v][o+1] == 0 or g[v][o+1] == 2 :
o -= 1
else:
g[v][o]=1
g[v][o+1]=2
return
def wd():
c.shape('胜利.gif')
def no():
c.shape('失败.gif')
# ------------------------------------------------------------
# 3.操作事件区,放置键鼠操作相关的内容
# ------------------------------------------------------------
# 4.场景素材区,添加游戏画面相关的素材
p=t.Pen()
p.penup()
for i in f:
t.addshape(i)
t.addshape('编程猫.gif')
t.addshape('胜利.gif')
t.addshape('失败.gif')
c.shape('空.gif')
# ------------------------------------------------------------
# 5.画面绘制区,绘制场景用的画笔,绘制场景的代码
while True:
t.tracer(False)
for a in range(x):
for b in range(y):
draw(p,f[g[b][a]],a,b)
draw(p,'编程猫.gif',o,v)
p.stamp()
t.onkey(ww,'Up')
t.onkey(s, 'Down')
t.onkey(aa,'Left')
t.onkey(d, 'Right')
t.listen()
if g[4][1] == 2 and g[2][4] == 2:
le += 1
break
t.update()
t.clearscreen
v = 3
o = 4
g = [[0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 4, 0],
[0, 1, 2, 1, 1, 0],
[0, 0, 1, 1, 1, 0],
[0, 4, 1, 2, 1, 0],
[0, 0, 0, 0, 0, 0]]
while True:
for a in range(x):
for b in range(y):
draw(p, f[g[b][a]], a, b)
draw(p, '编程猫.gif', o, v)
p.stamp()
t.onkey(ww, 'Up')
t.onkey(s, 'Down')
t.onkey(aa, 'Left')
t.onkey(d, 'Right')
t.listen()
if g[4][1] == 2 and g[1][4] == 2:
le += 1
break
t.update()
t.clearscreen
v = 4
o = 3
g = [[0, 0, 0, 0, 0, 0],
[0, 4, 2, 1, 1, 6],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 4, 2, 1, 1, 0],
[0, 0, 0, 0, 5, 0]]
t.tracer(False)
while True:
for a in range(x):
for b in range(y):
draw(p, f[g[b][a]], a, b)
draw(p, '编程猫.gif', o, v)
p.stamp()
t.onkey(ww, 'Up')
t.onkey(s, 'Down')
t.onkey(aa, 'Left')
t.onkey(d, 'Right')
if g[v][o]==5:
v=1
o=4
if g[v][o] == 6:
draw(c, '失败.gif', 0, 0)
t.done()
t.listen()
if g[1][1] == 2 and g[4][1] == 2:
le += 1
break
t.update()
t.clearscreen
v = 1
o = 1
g = [[0, 0, 0, 0, 0, 0],
[0, 4, 1, 1 ,1, 0],
[0, 1, 6, 2, 1, 0],
[0, 1, 1, 1 ,1, 0],
[0, 0, 0, 0, 6, 0],
[6, 6, 6, 6, 6, 0]]
t.tracer(False)
while True:
for a in range(x):
for b in range(y):
draw(p, f[g[b][a]], a, b)
draw(p, '编程猫.gif', o, v)
p.stamp()
t.onkey(ww, 'Up')
t.onkey(s, 'Down')
t.onkey(aa, 'Left')
t.onkey(d, 'Right')
if g[v][o]==6:
draw(c, '失败.gif', 0, 0)
t.done()
t.listen()
if g[1][1] == 2:
le += 1
draw(c,'胜利.gif',0,0)
break
t.update()
t.done()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn