用户:
飞翔的鹅查看:0 回复:0 评论:0 创建时间:2023-07-22T19:34:10
【作品展示】

【作品介绍】
无
【作品源代码】
import turtle
# -----------------------------------------------------------------
# 1.基本信息区,放置游戏相关的一些信息
size = 70
'''
0-空 1-墙壁 2-通道 3-目标 4-箱子
'''
grid = [[0, 0, 1, 1, 1, 0],
[0, 0, 1, 3, 1, 1],
[1, 1, 1, 2, 2, 1],
[1, 3, 4, 4, 2, 1],
[1, 1, 2, 2, 2, 1],
[0, 1, 1, 1, 1, 1]]
width = len(grid[0])
height = len(grid)
origin_x = -(width-1) / 2 * size
origin_y = (height-1) / 2 * size
player_x = 1
player_y = 3
# ------------------------------------------------------------
# 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 up():
global player_y
player_y -= 1
def down():
global player_y
player_y += 1
def left():
global player_x
player_x -= 1
def right():
global player_x
player_x += 1
# ------------------------------------------------------------
# 3.操作事件区,放置键鼠操作相关的内容
# ------------------------------------------------------------
# 4.场景素材区,添加游戏画面相关的素材
tile_shapes = ['空.gif', '墙壁.gif', '通道.gif', '目标.gif', '箱子.gif']
for i in tile_shapes:
turtle.addshape(i)
turtle.addshape('编程猫.gif')
# ------------------------------------------------------------
# 5.画面绘制区,绘制场景用的画笔,绘制场景的代码
t = turtle.Pen()
t.penup()
t.hideturtle()
turtle.tracer(0)
while 1:
t.clear()
for i in range(width):
for j in range(height):
draw(t, tile_shapes[grid[j][i]], i, j)
draw(t, '编程猫.gif', player_x, player_y)
turtle.update()
turtle.onkey(up, "Up")
turtle.onkey(down, "Down")
turtle.onkey(right, "Right")
turtle.onkey(left, "Left")
turtle.listen()
turtle.done()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn