# ============================================================
# テキストゲーム「パンの森の冒険」(見本・答え)
# ― Step 4 プログラミングコース 卒業制作 路線B
#
# 選択肢を数字で選んで進む、小さな冒険ゲームです。
# 変数・条件分岐・関数・繰り返し、これまでの全部が入っています。
#
# 動かし方:  python bouken-mihon.py
# 使い方: まず写して動かす → 改造のヒント (一番下) へ。
# ============================================================


# 1 か 2 を入れてもらう関数。それ以外が入ったら、もう一度聞く。
def erabu():
    while True:
        kotae = input("どうする? (1 か 2 を入れてね): ")
        if kotae == "1" or kotae == "2":
            return kotae
        print("ごめんね、1 か 2 で答えてね。")


print("=== パンの森の冒険 ===")
print("あなたは、うわさのパン屋「パンの森」を目指して、森の入口に立っています。")
print()

# 場面1: 分かれ道
print("目の前に、道が2つあります。")
print("  1: 明るい広い道を行く")
print("  2: パンのいいにおいがする細い道を行く")
michi = erabu()

if michi == "1":
    print()
    print("広い道は途中で行き止まり。でも、親切なねこに出会いました。")
    print("ねこが、パン屋への近道を教えてくれるようです。")
    nakama = True    # ねこが仲間になったことを覚えておく
else:
    print()
    print("においをたどって進むと、あっという間に森をぬけられました。")
    nakama = False

# 場面2: お店の前で
print()
print("パンの森に到着! ところが、最後のメロンパンを買おうとした人がもう1人…。")
print("  1: 「お先にどうぞ」と譲る")
print("  2: 半分こにしませんか、と提案する")
koudou = erabu()

# むすび: 選択の組み合わせで結末が変わる
print()
if koudou == "1":
    print("譲ったあなたに、店主が焼きたてのクロワッサンをプレゼント!")
elif nakama:
    print("半分こした相手は、なんとねこの飼い主。3人 (と1匹) で仲よく食べました。")
else:
    print("半分こにしたメロンパンは、なぜか2倍おいしく感じました。")

print()
print("=== おしまい。遊んでくれて ありがとう! ===")

# ---------- 改造のヒント ----------
# その1: セリフや登場人物を、自分の好きな物語に書き換えてみよう。
# その2: 場面を1つ足してみよう (場面2のあとに、もう1つ選択を入れる)。
# その3: 「もちもの」を変数のリストで管理して、持っているものに
#   よって結末が変わるようにしてみよう。
# その4 (発展): 体力 (数値) を持たせて、選択で増減させてみよう。
#   0になったらゲームオーバー、という ifを足すと、ゲームらしくなります。
# ----------------------------------
