将故事分配到游戏中的位置的最佳方式?

时间:2014-02-25 03:17:03

标签: python coordinate adventure

我有一个简单的问题。 这是我到目前为止的故事游戏:

x = 0
y = 0
coords = (x,y)
def move(player) :
while 1 :
    global x
    global y
    global coords
    user_in = raw_input()
    if user_in == "w":
        y += 1
    elif user_in == "d":
        x += 1
    elif user_in == "a":
        x -= 1
    elif user_in == "s":
        y -= 1
    else :
        print "Thats not an assigned key"
    coords = (x,y)
    print player, "moved to", coords

move("Mason")

我知道我可以为每组坐标制作一个if语句,但我感觉像是pythonic,我想找到一种快速有效的方法来做到这一点。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

就像@isedev在评论中所说,我建议使用一个字典,将位置元组映射到有关该位置的内容的数据。

我会创建一个名为RoomArea的类来定义该位置存在的内容。然后制作一个名为world的字典,或者映射玩家可以去的所有位置的字典。如果在给定位置没有Area个物体,那么就不可能去那里(也许它是无法通行的森林,坚固的岩石,或者你的游戏中有意义的东西)。

我建议你阅读一篇关于如何用Python编写冒险游戏的教程。这本书艰难学习Python 有一章致力于此,你可以在互联网上免费获得这本书:

http://learnpythonthehardway.org/book/ex43.html

如果按顺序阅读整本书,可能会更有意义。

如果你不喜欢那个,试试谷歌搜索“冒险游戏教程Python”,你会发现其他人。

祝你好运,玩得开心。