2022年 2月 25日
キャラクターユニットとして軍師を思い付いたので実装した。
効果はダイスの目の内、低いものを「振りなおし」する能力。
能力 1で 1個、2で 2個、3で 3個を振りなおす。
上は攻撃指揮官で 2個ダイスを増やす、下は軍師で 2個振りなおし、金枠が振りなおしたダイス、なかなか互角の勝負だ。
軍師の利点は「攻勢でも守勢でも効果が出ること」、欠点は「ダイスの個数が少ないと能力を発揮しない」こと。
それは「振りなおしたダイスが必ずしも元のダイスより高いとは限らない」ため。
ソース
; 軍師 f=0 if ldcu(kln1)=13 : f=1 if ldcu(kln1)=14 : f=2 if ldcu(kln1)=15 : f=3 cun1=-1 : cun2=-1 : cun3=-1 repeat 1 if f<1 : break n1=7 : n2=7 : n3=7 repeat dcpb : n2=p1dn(cnt) if n2=0 : continue ; 無い if n2-1 { p1dn(cun1)=rnd(6)+1 ; 振りなおし cdwp1(cun1)=1 ; 金枠表示 } if f<2 : break n1=7 repeat dcpb : n2=p1dn(cnt) if n2=0 or cnt=cun1 : continue ; 無い or 既に選んである if n2 -1 { p1dn(cun2)=rnd(6)+1 ; 振りなおし cdwp1(cun2)=1 ; 金枠表示 } if f<3 : break n1=7 repeat dcpb : n2=p1dn(cnt) if n2=0 or cnt=cun1 or cnt=cun2 : continue ; 無い or 既に選んである if n2 -1 { p1dn(cun3)=rnd(6)+1 ; 振りなおし cdwp1(cun3)=1 ; 金枠表示 } loop repeat dcpb : n=p1dn(cnt) ; ダイス目 if n=0 : continue ; 無い p1dng+=n ; 総数 p1dp(cnt)=(n-1)*2+rnd(2) ; 表示ダイス loop
f がその国の軍師と能力数。
案外ややこしかったけど、cun1、cun2、cun3が振りなおすダイスの位置。
1個ずつ最小の値のダイスを拾い、既に拾っているダイスは走査しない。
この辺でゲームの基礎部分は大体出来たと思う。
これからは、プレイヤー操作の変更やリプレイ、オプションやセーブロードなどの周辺部分を作る事になると思う。