【发布时间】:2016-06-13 00:38:59
【问题描述】:
我正在用 Python 编写一个小型 RPG,我希望我的不同世界对象具有不同的颜色。我尝试过探索 colorama 和一些类似的模块;但是,字符串总是打印为一个小盒子,里面有一些数字和字母,而不是,比如说,水砖的蓝色“~”字符。
我使用如下所示的变量创建我的世界数组:
worldArray = [[' ' for i in range(10)] for i in range(10)]
然后我通过几个不同的函数向其中添加世界对象,以构建一个随机的世界环境,如下所示:
def replacetiles(self, grid, row, a, b, char, count):
while count:
aShift = 2
row_col_dict = {row: (a, b)}
for row in row_col_dict.keys():
startPos, endPos = row_col_dict[row]
for i in range(startPos, endPos):
grid[row][i] = char
row -= 1
if aShift == 0:
a += random.randint(1, 2)
if count < 3:
b -= (b / 2)
b += random.randint(0, 1)
aShift -=1
count -= 1
这当然都存储在一个类对象中。这个函数是我通过调用replacetiles(gamemap, 9, 0, 5, '~', 3) 在世界中创建随机海洋的方法,这将用'~' 替换一些索引。
如何更改游戏地图中'~' 的输出颜色?
编辑:我的问题似乎比列出的其他线程更具体。我遇到的问题是,当我通过 colorama 或下面或其他线程中的任何答案打印文本时,在一个单独的文件中只需打印彩色文本,它就可以工作。但是,当我使用相同的代码更改 replacetiles 中的 char 参数的颜色时,我得到了这个奇怪的框图标,无论我使用什么方法来更改字符串文本的颜色。
【问题讨论】:
-
您使用的是什么操作系统/控制台?
-
最新版本的 Linux Mint 可用和标准终端。