2022年 5月 6日
キャラクターユニットが居る国を取ると、そのキャラクターユニットを取れるけど、これだと取ったり取られたりで延々押し返しを繰り返してしまう。

そこで、コーエーの三国志みたいに負けても逃げられる国があればそちらへ移動して取られない。
逃げる国が無い場合は攻め込んだ国の武将になる、という風に変更した。
逃げる国がある場合は、そちらへ移動する。


逃げ場が無い場合は攻め込んだ国の武将になる。


これにより、持ち武将として、よりたのもしくキャラクターユニットを使えるようになった。
ソース
kln1 = 攻勢国
kln2 = 防衛国
ldcu(n) = その国のキャラクターユニット
ldpc2(n) = 移動できる寺領の空白国
f=0
if p1dng>p2dng { ; 占領
f=1
lpd(kln2)=pn1
ldcd(kln2)=ldcd(kln1)-1 ; ダイス戦力移動
ra3n=0 ; リプレイデータ用、防衛国CU移動先
; cu表情
if ldcu(kln1)>0 : cupf(ldcu(kln1))=0 ; フラットに
if ldcu(kln2)>0 : cupf(ldcu(kln2))=0 ; フラットに
if ldcu(kln2)>0 : cupf(ldcu(kln2))=2 ; 負け
if ldcu(kln2)>0 { ; 隣接国探査
f=0 ; 隣接する空き自領があるか
ldpc2c=0 : ldlc=kln2*ldlb
repeat ldlb
ldpc2(cnt)=0 ; リセット
mn=ldl(ldlc+cnt) ; 調べる国
if lpd(mn)!pn2 : continue ; 自領では無い
if ldcu(mn)>0 : continue ; CUが居る
ldpc2(ldpc2c)=mn ; 隣接国登録
ldpc2c+ : f=1
loop
if f=1 { ; 空き自領がある
mn=ldpc2(rnd(ldpc2c)) ; 移動する国
ldcu(mn)=ldcu(kln2) : ldcu(kln2)=0 ; CU移動
ra3n=mn ; リプレイデータCU移動先
}
}
if ldcu(kln1)>0 { ; CU移動
ldcun=0 ; 一時格納
if ldcu(kln2)>0 : ldcun=ldcu(kln2) ; 一時格納
ldcu(kln2)=ldcu(kln1) ; CU移動
ldcu(kln1)=ldcun ; 入れ替え
if f=0 : ra3n=kln1
; cu表情
if ldcu(kln1)>0 : cupf(ldcu(kln1))=2 ; 負け
if ldcu(kln2)>0 : cupf(ldcu(kln2))=1 ; 勝ち
}
隣接する空き自領を調べ、ランダムで移動します。
無い場合は移動せず、そのまま攻勢国のユニットになります。