CDW 軍師を作った


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 がその国の軍師と能力数。

 案外ややこしかったけど、cun1cun2cun3が振りなおすダイスの位置。

 1個ずつ最小の値のダイスを拾い、既に拾っているダイスは走査しない。
 
 
 この辺でゲームの基礎部分は大体出来たと思う。

 これからは、プレイヤー操作の変更やリプレイ、オプションやセーブロードなどの周辺部分を作る事になると思う。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です