ActDataの変更


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

現状のActData

'''
>>> ActData('player',ActData.MOVE,direction=Direction.NO_DIR)
'''
class ActData:
  MOVE = 'act_move'
  ATTACK = 'act_attack'
  REST = 'act_rest'

  def __init__(self,author,logtype,
    direction=Direction.NO_DIR,pocket_num=-1):
    #データ入力

次のようなstructライクなオブジェクトになっているのに対し、

これを利用してキャラクタの行動を変化させる処理がなかなかにハード。

なので、これをベースにして行われる処理をActDataに固めてしまうのがいいと今は思っているが、

このリファクタリングは直感に反するのでどうなのかとも思う。

ActDataによって分岐計算とは、結局

自身が居るStageの情報、そこにいるObjectの情報、


ActDataの狙いは、途中セーブの復元が、ActDataによって可能な点にある。

過去のデータをたどる様にActDataを入力していけばうまく再建できるかとおもったから。

(でも今思うともし改心の一撃のダメージの乱数計算などは工夫が必要のようだが・・・。)

コードにするとこんな感じ。

if ActData.is_valid():
  ActData.proc()

そうすると、引数には関係するオブジェクトを詰め込めばいいので、

if ActData.is_valid(term_charcter,stage,obj_pool,item_pocekt):
  ActData.proc(term_charcter,stage,obj_pool,item_pocket)

・・・これは汚い。何かまとめ間違いをしている気がする・・・。が、またあとで検討することにしよう。