CDW 三国武将システムにした


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 ; 勝ち
	 }

 隣接する空き自領を調べ、ランダムで移動します。

 無い場合は移動せず、そのまま攻勢国のユニットになります。
 
 

コメントを残す

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