我有一个二维数组,我用它作为基于文本的游戏的地图,我用Python编写。我想限制用户在某些磁贴上行走。对于边框来说,这是一个简单的修复方法,因为它沿着边缘用'#'
表示。但是,游戏中的地理位置使用了termcolor的彩色模块,例如山是colored('^', 'red')
,这使得识别人物的难度很大。
if USERPOSITION == ('#' or -INSERT_COLORED_STRING-):
# revert to previous position.
当我只输入'#' or colored('^', 'red')
时,它会识别正常的英镑符号,但不会识别红色'^'
。如果我只是放'#' or '^'
我得到相同的结果。
如何检查字符串是否为彩色字符?
答案 0 :(得分:2)
你的条件错了。您想检查USERPOSITION
是否等于'#'
,或者它是否等于colored('^', 'red')
。
为此,请明确写出每个条件,并使用or
检查是否为真:
if USERPOSITION == '#' or USERPOSITION == colored('^', 'red'):
或者,您可以使用USERPOSITION in ('#', colored('^', 'red'))
。如果您有多个USERPOSITION
的不同值应符合条件,那么这将是有利的。