猫史档案馆


【Python作品分享】我的创意游戏-工程包【教程贴】

用户:耐心的超声蝠IVj_耐心的超声蝠IVj_查看:0 回复:1 评论:0 创建时间:2024-08-09T20:35:40


【作品展示】

center_image

 

【作品介绍】

如果v给你发v反对给谁返回丢狗i额哈佛i散热韩国i哦drug佛i是u地方hi哦瑟夫彼此的组佛尔回归河岸回复嚄v忽然苏俄腹黑神佛然后共色然后覅Ohio韩国hi i u夫i复古谷歌黑帮几个月fig iiu覅一份关怀工地然后攻入皇宫i瑞典国会ui和v哦提不提容纳多个i合法不合法工会哦i把副标题然后大概六哦低功耗的特别好oh不同的人海滨风光背后喵和难以分割和IP和部分功能hi大家佛牌不仅提供建议封号很多人和动态画面kilo i u u u u听歌发生的出现多个v给大家都同意集团购入购入同时发行公司更多突然爆发v然后鬼鬼复古式的苟富贵g'c'diiu'er'vueib非官方的vf

 

【作品源代码】

import turtle


# -----------------------------------------------------------------
# 1.基本信息区,放置游戏相关的一些信息
grid = [[0, 0, 1, 1, 1, 1],
        [0, 1, 2, 2, 1, 1],
        [1, 1, 1, 4, 2, 1],
        [1, 3, 4, 2, 2, 1],
        [1, 3, 2, 2, 2, 1],
        [0, 1, 1, 1, 1, 1]]
height = len(grid)
width = len(grid[0])
size = 70

origin_x = -width*size/2+size/2
origin_y = height*size/2-size/2
player_x=2
player_y=3
result=2

# ------------------------------------------------------------
# 2.功能模块区,主要放置函数
def draw(pen,img,x,y):
    global origin_x,origin_y,size
    pen.goto(origin_x+x*size, origin_y-size*y)
    pen.shape(img)
    p.stamp()
def move_up():
    global player_y
    if result!=2:
        return
    player_y-=1
    if player_y<0:
        player_y+=1
        return
    elif grid[player_y][player_x]==1:
        player_y+=1
        return
    change_grid()
    
def move_down():
    global player_y
    if result != 2:
        return
    player_y += 1
    if player_y > height-1:
        player_y -= 1
        return
    elif grid[player_y][player_x] == 1:
        player_y -= 1
        return
    change_grid()
    


def move_left():
    global player_x
    if result != 2:
        return
    player_x -= 1
    if player_x< 0:
        player_x += 1
        return
    elif grid[player_y][player_x] == 1:
        player_x += 1
        return
    change_grid()


def move_right():
    global player_x
    if result != 2:
        return
    player_x += 1
    if player_x > width-1:
        player_x -= 1
        return
    elif grid[player_y][player_x] == 1:
        player_x -= 1
        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
    show_result()
def show_result():
    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:
            result=1
# ------------------------------------------------------------
# 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)
result_shapes=['失败.gif','成功.gif','空.gif']
for i in result_shapes:
    turtle.addshape(i)
turtle.addshape('编程猫.gif')
p = turtle.Pen()
p.ht()
p.penup()
# ------------------------------------------------------------
# 5.画面绘制区,绘制场景用的画笔,绘制场景的代码
turtle.tracer(0)
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,'编程猫.gif',player_x,player_y)
    draw(p, result_shapes[result], (width-1)/2, (height-1)/2)
    turtle.update()
turtle.done()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
peTerpeTer

创赛营的

 

点赞0


评论