2024-02-25

Wizardryで冒険を始める前にマップを用意する

Windows10上でPC98エミュレータ「T98-NEXT」を使い、「Wizardry COLLECTION」のWizardry #1をプレイしてみようかと思っています。過去にPC-9801vm2でプレイした際には、ダンジョンのマップを方眼紙に記録していました。今回もそれでも構わないのですが、このゲームに没頭できるだけの時間を確保することは出来ないと思いますし、記録を紙ベースで残すと保管する手間が大変なので、別の方法を考えます。

 

今は何かの記録を残していく場合、TiddlyWikiを使うようにしています。ですからWizardryの冒険に先立ち、TW5のファイルをひとつ作成しました。Wizardryの情報も、PC98エミュレータの情報も、いろいろな情報を記録していくつもりです。そうなるとダンジョンのマップもTW5に記録していこうと思います。

 

マップは20x20なので、TW5のテーブル機能を使えば表現できそうです。しかし単なる壁と扉の区別が必要ですし、場合によっては注意事項をメモしたりする事があるかもしれません。そのような要望を満たすのは、TW5のテーブル機能では難しそうでした。そこで次善の策として編み出した方法を使うと、なんとかマップを表現できそうです。ただし手作業で書き下すのは大変なので、Pythonで雛形を生成させるようにしました。これでマップの問題は解決です。

 

#!/usr/bin/python3

print("|tc-table-no-border|k")

print("|", end="||")
for j in range(20):
    print(" %d " % j, end="||")
print("")

print("|", end="|+|")
for j in range(20):
    print(" ----- ", end="|+|")
print("")

for i in reversed(range(20)):
    print("|",i, end="|||")
    for j in range(20):
        print(" [[%d,%d|WxLyP%02d%02d]] " % (j, i, j, i), end="|||")
    print(i,"|")

    print("|", end="|+|")
    for j in range(20):
        print(" ----- ", end="|+|")
    print("")

print("|", end="||")
for j in range(20):
    print(" %d " % j, end="||")
print("")
#[EOF]



0 件のコメント:

コメントを投稿