質問

私は簡単な質問があります。 これは私の物語のゲームです。これまで:

x = 0
y = 0
coords = (x,y)
def move(player) :
while 1 :
    global x
    global y
    global coords
    user_in = raw_input()
    if user_in == "w":
        y += 1
    elif user_in == "d":
        x += 1
    elif user_in == "a":
        x -= 1
    elif user_in == "s":
        y -= 1
    else :
        print "Thats not an assigned key"
    coords = (x,y)
    print player, "moved to", coords

move("Mason")
.

私は私が座標の各セットのIFステートメントを作ることができることを知っていますが、私はPythonicを感じています、そして私はこれをするための迅速かつ効率的な方法を見つけたいと思います。助けてくれてありがとう!

役に立ちましたか?

解決

@ Persevがコメントで言ったように、場所タプルをその場所にあるものに関するデータにマッピングする辞書を使用することをお勧めします。

私は、その場所に存在するものを定義するRoomまたはAreaというクラスを作成します。次に、worldと呼ばれる辞書またはプレーヤーが行くことができるすべての場所をマッピングするものにします。特定の場所にAreaオブジェクトがない場合は、そこに行くことは不可能です(たぶんそれはあなたのゲームでは何でも意味があるものは何でも)。

私はあなたがPythonで冒険ゲームをどのように書くかについてチュートリアルを通して読むことを提案します。本 Pythonを学ぶhard way にはこれに専念した章があり、インターネット上でその本を無料で入手できます。

> http://learnpythonthehardway.org/book/ex43.html

本全体を順番に読んだ場合は、より理にかなっている可能性があります。

それを好きではない場合は、Google検索を「アドベンチャーゲームチュートリアルPython」を試してみてください。

頑張って楽しんでください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top