ファイルを読み取り、ゲームのすべてのレベルを 1 つのセルにリストする関数を作成する必要があります。すべてのセルにはレベルの行が文字列として含まれており、すべての行はセルの要素です。最後のセルには、レベルの前に表示される数字や単語を含めず、「\n」または空のセルを含めないでください。この機能を実装しましたが、このようなレベルではうまく機能しません。いくつかのアイデアがありますか?
ファイルからのレベル
; 1
####
# .#
# ###
#*@ #
# $ #
# ###
####
リストのセルとして:
['####', '# .#', '# ###', '#*@ #', '# $ #', '# ###', '####']
私が問題を抱えているレベルの例:
; 154 'Take the long way home.'
############################
# #
# ######################## #
# # # #
# # #################### # #
# # # # # #
# # # ################ # # #
# # # # # # # #
# # # # ############ # # # #
# # # # # # # # #
# # # # # ############ # # #
# # # # # # # #
# # # # ################ # #
# # # # # #
##$# # #################### #
#. @ # #
#############################
次のようになります。
["54 'Take the long way home.'", '', ' ############################', ' # #', ' # ######################## #', ' # # # #', ' # # #################### # #', ' # # # # # #', ' # # # ################ # # #', ' # # # # # # # #', ' # # # # ############ # # # #', ' # # # # # # # # #', ' # # # # # ############ # # #', ' # # # # # # # #', ' # # # # ################ # #', ' # # # # # #', '##$# # #################### #', '#. @ # #', '#############################']
私のコード:
def loader(filename):
tmp=[]
levels=[]
f=open(filename, "r")
f=f.read().split(';')
for line in f:
tmp.append(line[2:].strip())
tmp.remove("")
for i in tmp:
i=i.split("\n")
levels.append(i)
print levels