2016-06-14 10 views
0

私はPythonで書いたテキストベースのゲームのマップとして2次元配列を使用しています。私は、ユーザーが特定のタイルを歩くのを制限したい。これは端に沿って'#'で表されるので、境界に来るときには簡単に修正されます。しかし、ゲーム内の地理学では、termcolorの色付きモジュールを使用しています。山はcolored('^', 'red')であるため、文字の種類を特定するのは困難です。配列内の色付きの文字列を特定するにはどうすればよいですか?

if USERPOSITION == ('#' or -INSERT_COLORED_STRING-): 
    # revert to previous position. 

Iは単に'#' or colored('^', 'red')を入力し、それが通常のシャープ記号を識別ではなく、赤'^'。私がちょうど'#' or '^'を置くと同じ結果が得られます。

文字列が色付き文字であるかどうかを確認するにはどうすればよいですか?

答えて

2

条件が間違っています。 USERPOSITION'#'と等しいか、それともcolored('^', 'red')と等しいかをチェックしたいとします。

は、そう明示的に各条件を書き出すと、どちらかがorを使用して真であるかどうかを確認するには、次の

if USERPOSITION == '#' or USERPOSITION == colored('^', 'red'):

また、あなたはUSERPOSITION in ('#', colored('^', 'red'))を使用することができます。条件に一致する複数の異なる値USERPOSITIONがあった場合、これは有利です。

関連する問題