私は Python 3.2.3 を使用しており、アイドル状態でテキスト ゲームをプログラムしています。私は.txtファイルを使用して、後でプログラムによって開かれ、ターミナルで描画されるマップスキームを保存しています(今のところIDLE)。
.txt ファイルの内容は次のとおりです。
╔════Π═╗
Π ║
║w bb c□
║w bb c║
╚═□══□═╝
Π: ドア; □:窓。b: ベッド; c: コンピューター; w:ワードローブ
私はプログラミングが初めてなので、これを行うのは難しい問題です。
このためにこれまでに作成したコードは次のとおりです。
doc = codecs.open("D:\Escritório\Codes\maps.txt")
map = doc.read().decode('utf8')
whereIsmap = map.find('bedroom')
if buldIntel == 1 and localIntel == 1:
whereIsmap = text.find('map1:')
itsGlobal = 1
if espLocation == "localIntel" == 1:
whereIsmap = text.find('map0:')
if buldIntel == 0 and localIntel == 0:
doc.close()
for line in whereIsmap:
(map) = line
mapa.append(str(map))
doc.close()
if itsGlobal == 1:
print(mapa[0])
print(mapa[1])
print(mapa[2])
print(mapa[3])
print(mapa[4])
print(mapa[5])
print(mapa[6])
print(mapa[7])
if itsLocal == 1 and itsGlobal == 0:
print(mapa[0])
print(mapa[1])
print(mapa[2])
print(mapa[3])
print(mapa[4])
2 つのマップがあり、それぞれにタイトルがあり、小さい方はマップ 1 (私が示したもの) です。
プログラムを実行しようとすると、Python から次のエラー メッセージが表示されます。
Traceback (most recent call last):
File "C:\Python32\projetoo", line 154, in <module>
gamePlay(ask1, type, selfIntel1, localIntel, buildIntel, whereAmI, HP, time, itsLocal, itsBuild)
File "C:\Python32\projetoo", line 72, in gamePlay
map = doc.read().decode('utf8')
File "C:\Python32\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
IDLE 端末に表示されたとおりの地図を正確に印刷するにはどうすればよいですか?