2018年 8月4日
去年と入りが同じだけど暑くて(なのか?)バテて進んでない、毎日何ももできなくて他の事してる。
しかし去年もだけど冷房あるのになんでバテるんだろう?
とにかく記録的な暑さだよね。
そんな訳でほとんど進んでない。
*hero_per ; 英雄の行動順番 repeat 26 ; リセット hmp(cnt)=0 ; ヒーローの勢力値 hap(cnt)=0 ; 順列 loop repeat 25,1 : pn=mpl(cnt) if pn=0 : continue ; ヒーローの勢力では無い hmp(pn)+=mp(cnt) ; 戦力値+ loop repeat 25,1 : pn1=cnt if hf(pn1)=0 : continue ; 生存確認 repeat 25 ; 順列のソート if hap(cnt)=0 : hap(cnt)=pn1 : break ; 空白なら入れて終わり if hmp(pn1)<=hmp(hap(cnt)) : continue ; 値比較 pn2=hap(cnt) : hap(cnt)=pn1 : pn1=pn2 ; 入れ替え loop loop ;hper_put return *strategy ; 英雄勢力の人材とアイテムの発見と配置、戦略 repeat plb if hap(cnt)=0 : continue ; 順列に無い pn=hap(cnt) : if hf(pn)=0 : continue ; 勢力が滅んでる repeat 25,1 : m=cnt if mpl(m)!pn : continue ; 勢力国では無い un_fd m ; 人材発見 if un>0 : hper_set pn,un ; 順列セット it_fd m ; アイテムの発見 if in>0 : hiper_set pn,in ; 順列セット loop if hf(pn)=1 : gosub *map_main : continue ; プレイヤー ; 隣接国脅威値を算出 repeat 25,1 : hdp(cnt)=0 : hdn(cnt)=0 : loop; 脅威値をリセット repeat 25,1 : m=cnt ; その国の脅威値を評価 if mpl(m)!pn : continue ; 勢力国では無い repeat 6,1 n=hmv(m,cnt) ; 隣接する国があるか if n>0 : if mpl(n)!pn : hdn(m)+=mp(n) ; 脅威値加算 loop pn1=m repeat 25 ; 脅威国順列のソート if hdp(cnt)=0 : hdp(cnt)=pn1 : break ; 空白なら入れて終わり if hdn(pn1)<=hdn(hdp(cnt)) : continue ; 値比較 pn2=hdp(cnt) : hdp(cnt)=pn1 : pn1=pn2 ; 入れ替え loop loop ; 1順、2ジュン、3ジュン ; 総戦力評価と残戦力 ; どこへ攻め込むか ; 隣接する弱小勢力の順列 ; 順列順に隣接する自勢力の強順列を作る ; 残戦力が脅威以上あれば攻め込む ; 負けた場合は部隊そのまま ; 勝った場合は部隊を攻め込んだ国に移し、元国に残戦力を脅威値以上まで入れる loop return
ここには無いけどユニットデータの空いてる場所(27番)に、そのユニットの戦力評価値の項目を作った。
それからえ~と各ヒーローの総戦力値を算出して比較、小さい順に行動させるんだったか、そういえば今の所大きい順になってるのかな?そこまで出来てない?
まあともかくソースの下の方の緑のコメントアウトにアルゴリズムのアイデアをザッと書いてる、その部分だけ思考錯誤しました、という段階でもう動けなくて死んでる。
みなさんはどうですか、体には気をつけて下さいね。
外で働いてる人は大変だなあ。