【发布时间】:2015-02-01 16:38:38
【问题描述】:
我是 Python 的新手,我可以在一个基于文本的小型游戏(实际上是“风险”棋盘游戏的一个版本)中使用一些建议。我的定位系统有问题,因为我想将游戏划分为多个区域,在这些区域中会有许多位置。我必须这样做,因为某些地区一开始不可用。
不管怎样,到现在为止我都做了:
区域列表(名称是程序生成的):
regionList = [casia, lorus, mehin]
3 个地区列表,例如:
casia = ["casia", "town1", "town2", "town3"]
(为了方便代码的其他部分,我似乎不得不在列表开头留下区域名称)
还有一个列表,其中包含玩家在新位置输入时更新的初始位置:
playerPos = [(regionList[0])[0], (regionList[0])[1]]
有没有办法简单地输入位置的名称(它们都是不同的)并自动更新位置列表中的区域?我还没有找到一种从列表的元素中获取列表名称的方法,但这能解决吗?
另外,如果有更有效的组织方式,请告知我,如果问题需要进一步澄清,请告诉我。
非常感谢!
【问题讨论】:
-
表示您想在
regionList中添加新的region并自动更新town的region列表。根据这些信息,我们必须更新玩家位置,因此玩家位置的输入为player name、region和town。如果缺少区域信息,则更新区域信息? -
我不应该同时输入玩家去的“地区”和“城镇”,因为“地区”总是取决于城镇,例如。如果玩家在“town1”,他必须在“casia”地区。我不知道的是代码“技术”或参数从城镇输入中获取区域名称,然后将区域转移到'playerPos'
-
欢迎来到 SO。我认为您遇到的必须将名称保留在列表中的问题可能是不熟悉 Python 中的面向对象。当您最终完成项目时,请考虑发布到 StackExchange Code Review for cmets。