Lesson20 アイテムを使おう!
割引あり
こんにちは。
今回は、前回追加したアイテム一覧を「使える」ようにします。
アイテムごとに効果を実装します。HPの回復やMPの回復ができるようにつくっていきましょう。
またアイテムを使用したら残りのアイテム数を減らすようにしていきます。
それではコードをコピペしていきましょう。
stage1.py
#### stage1.py ####
############################################################################################
#### ライブラリの読み込み ####
############################################################################################
#### メインプログラム ####
def main(hp,mp,idx,weapons,itemBag,special): # 追加済み
########################################################################################
#### コマンドメニュー ####
## 省略 ##
########################################################################################
#### アイテム使用関数 ####
def use_item(hp,mp,item_name,damage):
if item_name in itemBag:
itemBag[item_name] -= 1
print(f"残りの {item_name} の数: {itemBag[item_name]}")
if item_name == "Onigiri":
hp += 10
elif item_name == "Ocha":
mp += 10
elif item_name == "Teishoku":
hp += 10
mp += 10
elif item_name == "Ra-men":
damage = 2.0
elif item_name == "Beer":
mp -= 20
hp += 20
damage = 3.0
elif item_name == "Coke":
mp += 5
else:
print(f"{item_name} はitemBagに見つかりませんでした。")
return hp,mp,selected_item_name,damage
########################################################################################
#### ゲームループ ####
while True:
## 省略 ##
#### キー操作設定 ####
# 単押し
for event in pygame.event.get():
## 省略 ##
if event.type == pygame.KEYDOWN:
## 省略 ##
if event.key == pygame.K_SPACE:
if player_turn:
if command_mode == False: # 追加済み
## 省略 ##
else:
if selected_item_name == "back": # 追加済み
selected_item = 1 # 追加済み
command_mode = False # 追加済み
else:
if selected_button == 1: # 追加済み
print("selected_button = 1 , selected_item_name = ",selected_item_name)
elif selected_button == 2: # 追加済み
print("selected_button = 2 , selected_item_name = ",selected_item_name)
hp,mp,selected_item_name,damage = use_item(hp,mp,selected_item_name,damage)
selected_item = 1
elif selected_button == 3: # 追加済み
print("selected_button = 3 , selected_item_name = ",selected_item_name)
command_mode = False # 追加済み
player_turn = False # 追加済み
else:
player_turn = True # 追加済み
貼り付けられたら下記を実行してください。
>python main.py
できましたか?
アイテムを使用するたびにHPやMPが変動しています。
他にも敵へのダメージを増加させたりもできます。
アイテム名などはかなり思い付きで書いたので、アイテム名やその効果を自分で考えて実装してもOKです。
Lesson19 の main.py などでアイテムバッグの中身をつくりこんだのでそこと併せて編集してみてくださいね★
それでは細かい解説に移ります。
ここから先は
6,872字
この記事が気に入ったらサポートをしてみませんか?