2018年 7月18日
中立の国戦略アルゴリズムと国の戦力の評価までできた。
この次はヒーロー勢力の国戦略だけど、これをやる前に「攻め込む」という要素を作らないと国が増えないのでとりあえず一段落で報告する。
メインの要素完成までもうちょっとだ。
中立国のアルゴリアム、と言っても中立は攻め込まないのでずっと 1国だけだし大した事無い。
*neutral ;中立勢力の人材とアイテムの発見と配置、戦略
repeat 25,1 : m=cnt ; mapNo.
if map(m)=0 : continue ; 地形が無い
if mpl(m)>0 : continue ; 中立では無い
un_fd m ; 人材発見
if un>0 : nper_set m,un ; 順列セット
it_fd m ; アイテム発見
if in>0 : niper_set m,in ; 順列セット
nrs_copy ; 中立のユニット操作順列コピー
nis_copy ; 中立のアイテム操作順列コピー
un=nrs5(0) : if un>0 : mu(m*10)=un : nrs_del un ; 領主配置
repeat nub ; 列の順列をリセット
nrt1(cnt)=0 : nrt2(cnt)=0 : nrt3(cnt)=0
loop
nrt1c=0 : nrt2c=0 : nrt3c=0 ; 現在の列の順番をリセット
repeat 9,1 ; 装備
if cnt\2=2 : nrs_eq 2 : if un=0 : nrs_eq 1 : if un=0 : break ; 2回目
nrs_eq 1 : if un=0 : nrs_eq 2 : if un=0 : break ; 1と3回目
loop
nrt1c=0 : nrt2c=0 : nrt3c=0 ; 現在の列の順番をリセット
repeat 3 : knc=m*10+cnt*3 ; 配備
repeat 3,1
if cnt=1 { ; 1列目
un=nrt1(nrt1c) : if un>0 : mu(knc+1)=un : nrt1c+ : continue
un=nrt2(nrt2c) : if un>0 : mu(knc+1)=un : nrt2c+ : continue
un=nrt3(nrt3c) : if un>0 : mu(knc+1)=un : nrt3c+ : continue
}
if cnt=2 { ; 3列目
un=nrt3(nrt3c) : if un>0 : mu(knc+3)=un : nrt3c+ : continue
un=nrt2(nrt2c) : if un>0 : mu(knc+3)=un : nrt2c+ : continue
un=nrt1(nrt1c) : if un>0 : mu(knc+3)=un : nrt1c+ : continue
}
if cnt=3 { ; 2列目
un=nrt2(nrt2c) : if un>0 : mu(knc+2)=un : nrt2c+ : continue
un=nrt1(nrt1c) : if un>0 : mu(knc+2)=un : nrt1c+ : continue
un=nrt3(nrt3c) : if un>0 : mu(knc+2)=un : nrt3c+ : continue
}
loop
if nrt1(nrt1c)=0 and nrt2(nrt2c)=0 and nrt3(nrt3c) : break ; 全員使った
loop
mpck m ; 戦力値計測
loop
return
人材とアイテムを発見して順列に放り込み、再配置をするだけ。
最後の mpckが国の戦力評価で、次のようになってる。
#deffunc mpck int mpckm ; マップ戦力値計測 m=mpckm ; 国No, mpckn=0 ; 戦力値 mug=m*10 ; 配備データ先頭 repeat 9,1 ; ユニット un=mu(mug+cnt) ; ユニットNo. if un=0 : continue ; ユニット無し udg=un*udb ; ユニットデータ先頭 mpckn+=ud(udg+21)+ud(udg+22) ; 筋力、魔力 repeat sbkn ; 装備 in=ud(udg+40+cnt) ; アイテムNo. if in<=0 : continue ; 装備してない idg=in*idb ; アイテムデータ先頭 mpckn+=id(idg+11)+id(idg+12)+id(idg+9) ; 攻撃、防御、能力値 loop loop mp(m)=mpckn ; 戦力値 return
今の所、ユニットの筋力、魔力、装備しているアイテムの攻撃力、防御力、能力値を足してる。
そうだ魔攻値と魔防値も足さなきゃ、後で直そう。
テスト
左上の白い数字が戦力、真ん中の赤い表示は国のNo.

中立の 2国、戦力は 190

中立の 13国、戦力は 447

中立の 18国、戦力は 482、1ユニット増えてる

再装備もしてる

ヒーロー勢力の 7国、戦力 652

完成の場合は、始めは中立と同じ 4ユニットの予定。
次はヒーロー勢力国のアルゴリズムだ、それが最後の砦になるだろう。
それが出来たら初めてテストプレイができる、後はタイトルや、OP、ED、オプションとか、そうそう音要素もつけなきゃだ。
そしてテストプレイとバランス調整、バグ潰し、これが結構な作業量でゲーム製作の全作業量の 2割くらいは占めると思う。