pythonの対話モードで冒険に出かけるゲーム

#pythonの対話モードで冒険に出かけるゲーム

※クソゲーですw

pythonの対話モードでクエスト風の冒険に出るまでのゲーム。
pythonの基本構文を押さえているので、pythonの基礎理解に役立ちました。

<br>
▼ゲーム内容（RPG風BGMあり）
https://youtu.be/SPq_8Vc43bI

gif動画が貼れなかったので、動画に音楽つけてyoutubeにアップしてます



<br>
##使用した構文やメソッド

**・inputメソッド**
コンソールでユーザーが入力できる。
入力した値を変数に格納。

**・if文**
条件分岐

**・while文**
「はい」が入力されるまでループさせる


**・辞書型配列**
変数 = {'キー１':値1, 'キー２':値2、、、}
値に名前（キー）をつけて保存。
順不同のため、抜き出すときはキーを指定。


**・for文**
配列の中身をひとつづつ取り出すために使用。
配列が辞書型の場合、キーを一つづつ抜き出すことになる。


**・try except構文**
エラーが発生したときの処理を記述。
except KeyError：辞書型配列に存在しないキーを入力した場合に発生するエラー。


**・print関数**
コンソールに文字列を出力する。
+で変数や文字列をつなぐ。
数値は文字列(str)になおす。

**・str関数**
数値を文字列に変換する。

**・format関数**
変数展開のひとつ。
print関数内で変数を出力する。
配列番号順に値を指定する方法と、名称をつけて値を指定する方法が使える。

**・f文字列**
変数展開のひとつ。
print関数内で変数を出力する。
記述も楽で使いやすい。


<br>
##コード

```python
start = input('ぼうけんのしょをつくる（はい or いいえ）：')

if start=='はい':
    start=1
else:
    start=0

while start==0:
    start = input('ぼうけんのしょをつくる（はい or いいえ）：')
    
    if start=='はい':
        start=1
    else:
        start=0

print('--------------------------------------------------\n')
name = input('なまえをいれてください：')

print('--------------------------------------------------\n')
print('おはよう　'+name+'。もう　あさですよ。\n')
print('きょうは　とても　たいせつなひ。\n'+name+'が　はじめて　おしろに　いくひ だったでしょ。\n')
print('まずは　そうびを　そろえなさい。')

print('--------------------------------------------------\n')
start = input('げんざいの　しょじきん　をみる（はい or いいえ）：')

if start=='はい':
    start=1
else:
    start=0

while start==0:
    start = input('げんざいの　しょじきん　をみる（はい or いいえ）：')
    
    if start=='はい':
        start=1
    else:
        start=0


money=5000
print('--------------------------------------------------\n')
print('げんざいの しょじきんは　'+str(money)+'ゴールド　です。\n')    

sords={'ひのきのぼう':300, 'せいどうのつるぎ':1200, 'はがねのつるぎ':2000, 'ゆうしゃのつるぎ':4600}
shields={'おなべのふた':400, 'まほうのたて':1480, 'ほのおのたて':1800, 'ゆうしゃのたて':4600}
armors={'かわのよろい':500, 'あぶないみずぎ':1370, 'ドラゴンメイル':1910, 'ゆうしゃのよろい':4600}
helmets={'かわのぼうし':520, 'うさみみばんど':1420, 'しあわせのぼうし':1840, 'ゆうしゃのかぶと':4600}


buysord="なし"
buyshield="なし"
buyarmor="なし"
buyhelmet="なし"


# 武器の購入
print('--------------------------------------------------\n')
start = input('ぶきをみる（はい or いいえ）：')
if start=='はい':
    for sord in sords:
        print('・'+sord+'：'+str(sords[sord])+'ゴールド')
            
    print('--------------------------------------------------\n')

    err=0
    while err==0:
        buysord = input('どのぶきを　かいますか：')
        try:
            price=sords[buysord]
            err=1
        except KeyError:
            err=0

    if money >= price:
        print('\n'+str(price)+'ゴールドの　'+buysord+'をかいました。')

        money -= price
        print('しょじきんは　'+str(money)+'ゴールドです。')
    else: 
        print('\nしょじきんが　たりません。')
        print('ぶきは　かいませんでした。\n')
        print('しょじきんは　'+str(money)+'ゴールドです。')


# 盾の購入
print('--------------------------------------------------\n')
start = input('たてをみる（はい or いいえ）：')
if start=='はい':
    for shield in shields:
        print (f'・{shield}：{shields[shield]}ゴールド')
            
    print('--------------------------------------------------\n')

    err=0
    while err==0:
        buyshield = input('どのたてを　かいますか：')
        try:
            price=shields[buyshield]
            err=1
        except KeyError:
            err=0

    if money >= price:
        print(f'\n{price}ゴールドの　{buyshield}をかいました。' )

        money -= price
        print(f'しょじきんは　{money}ゴールドです。')
    else: 
        print('\nしょじきんが　たりません。')
        print('たては　かいませんでした。\n')
        print(f'しょじきんは　{money}ゴールドです。')


# 鎧の購入
print('--------------------------------------------------\n')
start = input('よろいをみる（はい or いいえ）：')
if start=='はい':
    for armor in armors:
        print('・'+armor+'：'+str(armors[armor])+'ゴールド')
            
    print('--------------------------------------------------\n')

    err=0
    while err==0:
        buyarmor = input('どのよろいを　かいますか：')
        try:
            price=armors[buyarmor]
            err=1
        except KeyError:
            err=0

    if money >= price:
        print('\n{price}ゴールドの　{buyarmor}をかいました。'.format(price=price, buyarmor=buyarmor) )

        money -= price
        print('しょじきんは　{money}ゴールドです。'.format(money=money))
    else: 
        print('\nしょじきんが　たりません。')
        print('よろいは　かいませんでした。\n')
        print('しょじきんは　{money}ゴールドです。'.format(money=money))



# 兜の購入
print('--------------------------------------------------\n')
start = input('かぶとをみる（はい or いいえ）：')
if start=='はい':
    for helmet in helmets:
        print(f'・{helmet}：{helmets[helmet]}ゴールド')
            
    print('--------------------------------------------------\n')

    err=0
    while err==0:
        buyhelmet = input('どのかぶとを　かいますか：')
        try:
            price=helmets[buyhelmet]
            err=1
        except KeyError:
            err=0

    if money >= price:
        print('\n{}ゴールドの　{}をかいました。'.format(price, buyhelmet) )

        money -= price
        print('しょじきんは　{kane}ゴールドです。'.format(kane=money))
    else: 
        print('\nしょじきんが　たりません。')
        print('よろいは　かいませんでした。\n')


print('--------------------------------------------------\n')
print('そうびの こうにゅうが おわりました。\n\n')

print('★　★　★　★　★　★　★　★　★　★　★　★　★')
print(f'\n＜{name}の　そうび＞')
print(f'・ぶき：{buysord}')
print(f'・たて：{buyshield}')
print(f'・よろい：{buyarmor}')
print(f'・かぶと：{buyhelmet}\n')
print('★　★　★　★　★　★　★　★　★　★　★　★　★')


print('\n\nぼうけん　がんばってください。\n')
print('おわり\n\n')
```


<br>
長いですが、武器の購入以下は繰り返し。
print関数の出力方法に、format関数をつかったり、f文字列をつかったり。