猫史档案馆


cogmoh

cogmoh

Lv.1

日 十

获赞:37收藏:4浏览:112作品收藏:4

签名:目标100赞

回复帖子评论
上一页2 页 / 共 2下一页

沙盒游戏急招策划 中回复

呱?

2022-11-06T12:18:41 点赞:0

沙盒游戏急招策划 中回复

呱。。。

2022-11-06T16:50:54 点赞:0

急,在线等,1-16上午9:00要用 中回复

这是什么报错

 

2023-01-15T19:45:21 点赞:0

急,在线等,1-16上午9:00要用 中回复

 

import turtle
# -----------------------------------------------------------------
# 1.基本信息区,放置游戏相关的一些信息
size = 70
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
p_x = 1
p_y = 3
# ------------------------------------------------------------
# 2.功能模块区,主要放置函数
def c_g():
    global grid, p_x, p_y
    if grid[p_y][p_x] == 2:
        grid[p_y][p_x] = 3
    elif grid[p_y][p_x] == 3:
        grid[p_y][p_x] = 4
def darw(pen, img, x, y):
    global origin_x, origin_y
    p.goto(origin_x + x * size, origin_y - y * size)
    p.shape(img)
    p.stamp()
def move_up():
    global p_y, p_y, grid
    p_y -= 1
    if p_y <= 0:
        p_y += 1
        return
    elif grid[p_y][p_x] == 1:
        p_y -= 1
        return
    c_g()
def move_down():
    global p_y, p_y, grid
    p_y += 1
    if p_y >= height:
        p_y -= 1
        return
    elif grid[p_y][p_x] == 1:
        p_y -= 1
        return
    c_g()
def move_left():
    global p_x, p_y, grid
    p_x -= 1
    if p_x < 0:
        p_x += 1
        return
    elif grid[p_y][p_x] == 1:
        p_x += 1
        return
    c_g()
def move_right():
    global p_x, p_y, grid
    p_x += 1
    if p_x >= width:
        p_x -= 1
        return
    elif grid[p_y][p_x] == 1:
        p_x -= 1
        return
    c_g()
# ------------------------------------------------------------
# 3.操作事件区,放置键鼠操作相关的内容
turtle.onkey(move_up, 'Up')
turtle.onkey(move_down, 'Down')
turtle.onkey(move_left, 'Left')
turtle.onkey(move_right, 'Right')
turtle.listen()
# ------------------------------------------------------------
# 4.场景素材区,添加游戏画面相关的素材
tile_shapes = ['空.gif', '墙壁.gif', '通道.gif', '目标.gif', '箱子.gif']
for i in tile_shapes:
    turtle.addshape(i)
turtle.addshape('编程猫.gif')
# ------------------------------------------------------------
# 5.画面绘制区,绘制场景用的画笔,绘制场景的代码
p = turtle.Pen()
p.penup()
p.hideturtle()
turtle.tracer(False)
while True:
    p.clear()
    for i in range(width):
        for j in range(height):
            darw(p, tile_shapes[grid[j][i]], i, j)
    darw(p, '编程猫.gif', p_x, p_y)
    turtle.update()
turtle.done()

2023-01-18T07:40:02 点赞:0