0

私は Python でテキスト アドベンチャーを構築しています。アイテムがゲーム内の事柄に影響を与えるようにしたいと考えています。

すでに私のコードに基づいてこれをコーディングする最良の方法は何でしょうか?

---私の部屋とコネクティングルームへの道順です---

rooms = ["hallEnt", "hallMid", "snowRoom", "giantNature", "strangeWall", "riverBank"]
roomDirections = {
    "hallEnt":{"e":"hallMid"},
    "hallMid":{"s":"snowRoom", "e":"giantNature", "w":"hallEnt"},
    "snowRoom":{"n":"hallMid"},
    "giantNature":{"s":"strangeWall", "e":"riverBank", "w":"hallMid"},
    "strangeWall":{"s":"hallOuter", "e":"riverBank", "n":"giantNature"},
    "riverBank":{"e":"lilyOne", "w":"giantNature"},
    "lilyOne":{"e":"lilyTwo", "w":"riverBank", "n":"riverBank", "s":"riverBank"},
    "lilyTwo":{"e":"riverBank", "w":"lilyThree", "n":"riverBank", "s":"riverBank"},
    "lilyThree":{"e":"riverBank", "w":"lilyFour", "n":"riverBank", "s":"riverBank"},
    "lilyFour":{"e":"riverBank", "w":"treasureRoom", "n":"riverBank", "s":"riverBank"},
    "treasureRoom":{"w":"hallEnt"},

---そして、ここに私のアイテムとその部屋の場所があります.---

roomItems = {
    "hallEnt":["snowboots"],
    "snowRoom":["lamp"],
    "treasureRoom":["treasure"],
    }

私のクエリの別の例として、プレーヤーが invItems に「ランプ」を保持していない限り、(e)ast に移動して「hallMid」から「giantNature」に到達できるようにしたくありません。

4

2 に答える 2

0

特に効果が受動的である場合は、部屋に入るたびに実行されるネストされた ifステートメントの使用を検討することをお勧めします。アイテムの値を 1 または 0 で格納していると仮定すると、次のようにすることができます。

lamp = 0
rooms = ["hallEnt", "hallMid", "snowRoom", "giantNature", "strangeWall", "riverBank"]
room = rooms[0]

if lamp == 1:
        connected_room = ["hallMid", "snowRoom"]
        print "You are currently inside the " + room + "."
        print "You can see " + connected_room[0] + " and " + connected_room[1] + " in the distance."
else:
        connected_room = ["snowRoom"]
        print "You are currently inside the " + room + "."
        print "You can see the " + connected_room[0] +  " in the distance."
于 2014-11-18T08:10:16.940 に答える