用户:
星辰Gk37查看:0 回复:0 评论:0 创建时间:2023-07-17T17:50:54
【作品展示】

【作品介绍】
你的代码出了bug,于是你就进入了电脑修复bug。注意,电脑中的电流不能碰哦。
【作品源代码】
import turtle
import copy
# 1
turtle.bgpic('背景5.gif')
size = 70
ln=1
l1 = [[1, 1, 1, 1, 1, 1],
[1, 2, 2, 2, 2, 1],
[1, 2, 1, 2, 2, 1],
[1, 2, 2, 2, 2, 1],
[1, 1, 2, 2, 2, 1],
[1, 1, 1, 1, 1, 1]]
l2 = [[1, 1, 1, 1, 1, 1, 1],
[1, 2, 2, 1, 2, 2, 1],
[1, 5, 6, 1, 5, 8, 1],
[1, 1, 1, 1, 1, 1, 1],
[1, 6, 7, 1, 7, 8, 1],
[1, 2, 2, 1, 2, 2, 1],
[1, 1, 1, 1, 1, 1, 1]]
l3 = [[1, 2, 1, 1, 1, 1],
[1, 2, 9, 2, 2, 1],
[1, 2, 1, 1, 2, 1],
[1, 2, 1, 1, 2, 1],
[1, 2, 2, 2, 2, 1],
[1, 1, 1, 1, 1, 1]]
ls=[l1,l2,l3]
grid=copy.deepcopy(ls[ln-1])
width = len(grid[0])
height = len(grid)
origin_x = -(width-1) / 2 * size
origin_y = (height-1) / 2 * size
ps=[[1,1],[5,5],[1,1]]
player_x =ps[ln-1][0]
player_y =ps[ln-1][1]
result=2
# 2
def draw(pen, img, x, y):
global origin_x, origin_y, size
pen.goto(origin_x + x * size, origin_y - y * size)
pen.shape(img)
pen.stamp()
def move_up():
global player_x, player_y, grid,result
if result==0 or result==1:
return
player_y -= 1
if player_y < 0:
player_y += 1
return
elif grid[player_y][player_x] == 1:
result= 0
return
change_grid()
def move_down():
global player_x, player_y, grid,result
if result == 0 or result == 1:
return
player_y += 1
if player_y >= height:
player_y -= 1
return
elif grid[player_y][player_x] == 1:
result= 0
return
change_grid()
def move_left():
global player_x, player_y, grid,result
if result == 0 or result == 1:
return
player_x -= 1
if player_x < 0:
player_x += 1
return
elif grid[player_y][player_x] == 1:
result= 0
return
change_grid()
def move_right():
global player_x, player_y, grid,result
if result == 0 or result == 1:
return
player_x += 1
if player_x >= width:
player_x -= 1
return
elif grid[player_y][player_x] == 1:
result= 0
return
change_grid()
def change_grid():
global grid, player_x, player_y
if grid[player_y][player_x] == 2:
grid[player_y][player_x] = 3
elif grid[player_y][player_x] == 3:
grid[player_y][player_x] = 4
if ln==2:
if grid[player_y][player_x] == 5:
player_x= 1
player_y=2
elif grid[player_y][player_x] == 6:
player_x=1
player_y=4
if grid[player_y][player_x] == 7:
player_x = 4
player_y = 4
elif grid[player_y][player_x] == 8:
player_x = 5
player_y = 2
sr()
def sr():
global result,grid,player_x,player_y
if grid[player_y][player_x]==4:
result=0
else:
for i in grid:
if 2 in i:
result=2
break
else:
if ln==3:
if grid[player_y][player_x] == 9:
result = 1
else:
result=1
def nl():
global result,ln,grid,player_x,player_y,width,height,origin_x,origin_y,size
if result==1:
ln+=1
if ln>len(ls):
print('恭喜你,消除了所有bug。(按r回到第一关)')
return
result=2
grid=copy.deepcopy(ls[ln-1])
width = len(grid[0])
height = len(grid)
origin_x = -(width-1) / 2 * size
origin_y = (height-1) / 2 * size
player_x =ps[ln-1][0]
player_y =ps[ln-1][1]
def r():
global result, ln, grid, player_x, player_y, width, height, origin_x, origin_y, size
ln = 1
result = 2
grid = copy.deepcopy(ls[ln-1])
width = len(grid[0])
height = len(grid)
origin_x = -(width-1) / 2 * size
origin_y = (height-1) / 2 * size
player_x = ps[ln-1][0]
player_y = ps[ln-1][1]
# 3
turtle.onkey(move_up, 'Up')
turtle.onkey(move_down, 'Down')
turtle.onkey(move_left, 'Left')
turtle.onkey(move_right, 'Right')
turtle.onkey(nl, 'Return')
turtle.onkey(r,'r')
turtle.listen()
# 4
tile_shapes = ['空.gif', 'l.gif_new.gif',
'砖块29.gif',
'砖块34.gif','窟窿.gif', 'a.gif.gif_new.gif',
'b.gif.gif_new.gif','c.gif.gif_new.gif',
'd.gif.gif_new.gif','e.gif.gif_new.gif',]
for i in tile_shapes:
turtle.addshape(i)
turtle.addshape('star.gif_new.gif')
rs=['失败.gif','成功.gif','空.gif']
for i in rs:
turtle.addshape(i)
turtle.addshape('遮罩.gif')
# 5
p = turtle.Pen()
p.penup()
p.hideturtle()
turtle.tracer(False)
try:
while True:
p.clear()
for i in range(width):
for j in range(height):
draw(p, tile_shapes[grid[j][i]], i, j)
draw(p, 'star.gif_new.gif', player_x, player_y)
draw(p,rs[result],(width-1)/2,(height-1)/2)
if ln==3:
draw(p,'遮罩.gif',player_x,player_y)
turtle.update()
turtle.done()
except:
print('已退出')
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn