注册 登录
编程论坛 Python论坛

文字游戏:家0.3(xy优化了)

一张白纸123 发布于 2023-09-04 07:27, 424 次点击
程序代码:
def init():
    global home,xy_x,xy_y
    home=['#','#','#','#','#','#','#','#','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#','#','#','#','#','#','#','#','#']

    xy_x=[]
    xy_y=[]
    for y in range(0,17):
        xy_y.append('%d'%(y))

    for x in range(0,9):
        xy_x.append('%d'%(x))

    print('玩法:坐标xy是位置,方块类型是符号,但必须是一个字节的。')

    k=input('玩耍之初,推荐一个方块类型呗!')
    if len(k)==1 and k!=' ':
        print('符合要求,谢谢推荐!')

    else:
        print('欢迎来到"home"!')
   
def main():
    global home,xy_x,xy_y
    init()
    sounds=0
    while True:
        if sounds==10:
            print('如果你感觉良好,可以复制保存"家"。')
        sounds+=1
        x=0
        for i in range(len(home)):
            x+=1
            if x==10:
                x=0
                x+=1
                print('\n',end='')
            print(home[i],end=' ')

        print('\n')
        
        k=input('方块类型:')
        if len(k)!=1:
            print('只输入一个字节的数!')
            continue
        
        X=input('选择方位x:')
        if X not in xy_x:
            print('不在方位列表之中。')
            continue
        
        Y=input('选择方位y:')
        if Y not in xy_y:
            print('不在方位列表之中。')

        home[int(X)+int(Y)*9]=k

if __name__=='__main__':
    main()

大家帮忙评估一下或给个建议,谢谢!
1 回复
#2
一张白纸1232023-09-04 07:30
优化程序代码(上面不太完整):
def init():
    global home,xy_x,xy_y
    home=['#','#','#','#','#','#','#','#','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#',' ',' ',' ',' ',' ',' ',' ','#',
          '#','#','#','#','#','#','#','#','#']

    xy_x=[]
    xy_y=[]
    for y in range(0,17):
        xy_y.append('%d'%(y))

    for x in range(0,9):
        xy_x.append('%d'%(x))

    print('玩法:坐标xy是位置,方块类型是符号,但必须是一个字节的。')

    k=input('玩耍之初,推荐一个方块类型呗!')
    if len(k)==1 and k!=' ':
        print('符合要求,谢谢推荐!')

    else:
        print('欢迎来到"home"!')
   
def main():
    global home,xy_x,xy_y
    init()
    sounds=0
    while True:
        if sounds==10:
            print('如果你感觉良好,可以复制保存"家"。')
        sounds+=1
        x=0
        for i in range(len(home)):
            x+=1
            if x==10:
                x=0
                x+=1
                print('\n',end='')
            print(home[i],end=' ')

        print('\n')
        
        k=input('方块类型:')
        if len(k)!=1:
            print('只输入一个字节的数!')
            continue
        
        X=input('选择方位x:')
        if X not in xy_x:
            print('不在方位列表之中。')
            continue
        
        Y=input('选择方位y:')
        if Y not in xy_y:
            print('不在方位列表之中。')

        home[int(X)+int(Y)*9]=k

if __name__=='__main__':
    main()

1