パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

アドベンチャーゲームを実装中1

2019-06-03 | Python

目標 3日でテキスト入力のアドベンチャーを作ってみる

という目的で作成してみる。

今なら昔よりはデータ構造をなんとかできそうな気がして…

 

最近、富士通がリストラするニュースをみかける。SEとしては稼げているけど半導体は振るわないらしい。

ひと昔前、SEに突然配属替えになったという富士通のリーダーのプロジェクトに入ったことがある。

データ構造をすべてクラスで作成しているというシステムでそれをうまく使いこなせずかなりアップアップ状態だった。

こっちもクラス構成がよくわからず、かなり手こずった記憶がある。

今にして思えば、開発なれしていないなか必死で考えたものだったのだろう。DBを使うという選択肢はなかったのかもしれない。

 

さらに昔、富士通のプログラムコンテストに応募したような記憶がある。

高校のクラブ対象でFM-7貸出して、2回応募すればそのFM-7を進呈するというものだったか?

今考えるとなかなか豪華なコンテストでBASICでアドベンチャーを作ろうとしたけど、

高校をモデルにした空間を作っただけで応募した。(学校まるまるで、けっこうでかい)

制作するためにFM-7を自転車にくくりつけて家まで往復した記憶が残っている。

 

なんとなくそんなことを考えながら作成中、きちんと設計していないので随時作り直しよてい。

 

import time

def getMove(p,z):
    r=""
    for n,d in zip(["up","down","left","right"],[-11,11,-1,1]):
        np=p+d
        if field[np]==str(z):
            r+=n+" "
    return r

def getMoveD(dName):
    for n,d in zip(["up","down","left","right"],[-11,11,-1,1]):
        if dName==n:return d

usecom=["look","think"]

print("3dayADV")
time.sleep(2)

print("helpで使えるコマンドを表示します")
time.sleep(2)

field ="###########"
field+="#000211000#"
field+="#002021000#"
field+="#000221000#"
field+="#022211100#"
field+="#221211210#"
field+="#111222210#"
field+="#012221101#"
field+="#111122110#"
field+="#021222100#"
field+="###########"

p=4+4*11
z=2

a=input("command?")
while a!="end":
    if a=="help":
        print(usecom)
    if a=="look":
        print("属性は",["なし","黒","白"][int(field[p])])
        print("移動可能な空間は",getMove(p,z))
    if a in ["up","down","left","right"]:
        if getMove(p,z).find(a)>-1:
            p+=getMoveD(a)
            print("移動しました")
            print("属性は",["なし","黒","白"][int(field[p])])
            print("移動可能な空間は",getMove(p,z))
        else:print("何かに阻まれた")

    a=input("command?")


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。