ゲームのキャラクターをクラス化するときに
class Player:
def __init__(self, hp, mp, defense, speed):
self.hp = hp
self.mp = mp
self.defense = defense
self.speed = speed
def attack(self, target):
# 攻撃処理
pass
こんな感じでやると思うけど
例えばattackの引数の部分って
(1)相手のキャラクターオブジェクトを入れる
(2)キャラクターのHPなど、使うパラメーターだけ入れる
のかどっちが良いのだろう
(1)の場合って
#攻撃処理 の部分でtarget.counter(self)とかできて便利そうだけど
パット見、内部で何やってるかわかりにくそう?
(2)の場合だと
attackの返り値を、攻撃され後のHPを返すとかにすると
player2.hp = player1.attack(player2.hp)
みたいに冗長感でる
(1)の方が、おそらく他のメソッド追加したときに基本は引数targetの一つで修正しやすそう
でも、もっとオブジェクト化してPlayerクラス以外の戦闘システムクラスとか作れば
player2.hp = player1.attack(player2.hp)の部分も見やすくなるし、より具体的なメソッド名にすればいい
どこまで分割して設計するかが難しいな・・
あと(1)でやってしまうと、あとでtargetの仕様が変わった時に
target引き継いだメソッド全部チェックしないといけないような
探検
Pythonのお勉強 Part70
■ このスレッドは過去ログ倉庫に格納されています
2023/04/02(日) 15:06:54.62
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★3 [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★4 [Hitzeschleier★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- ホリエモン、「持ち家=幸せという価値観は過去のもの」と断言「快適な住まいが欲しいなら、賃貸住宅を次々に替えていく」 [muffin★]
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ3🧪
- 人生に飽きた
- 【画像】自分がオッサンか若者か、5秒で判断できる画像がこれらしい [977261419]
- 【新番組】轟はじめ🐧⚡のぶんぶんぶーん🚗💨!【🏡】
- 自民党のヒゲ「日本側の無線でcopyとは言ったが了解という意味ではない」 [834922174]
- お
