我有一个简单的问题。 这是我到目前为止的故事游戏:
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,我想找到一种快速有效的方法来做到这一点。在此先感谢您的帮助!
答案 0 :(得分:1)
就像@isedev在评论中所说,我建议使用一个字典,将位置元组映射到有关该位置的内容的数据。
我会创建一个名为Room
或Area
的类来定义该位置存在的内容。然后制作一个名为world
的字典,或者映射玩家可以去的所有位置的字典。如果在给定位置没有Area
个物体,那么就不可能去那里(也许它是无法通行的森林,坚固的岩石,或者你的游戏中有意义的东西)。
我建议你阅读一篇关于如何用Python编写冒险游戏的教程。这本书艰难学习Python 有一章致力于此,你可以在互联网上免费获得这本书:
http://learnpythonthehardway.org/book/ex43.html
如果按顺序阅读整本书,可能会更有意义。
如果你不喜欢那个,试试谷歌搜索“冒险游戏教程Python”,你会发现其他人。
祝你好运,玩得开心。