Hextrategy cα_ver1.05に更新


2020年 12月 4日
 
 
cα 1.05

 更新内容は次の通り。

 外交館を廃止
 アイテムストックの種類のバランスを取るアルゴリズムを追加
 倉庫の支配人の能力によりアイテムの最大数増加
 
 

 外交館を廃止してみた。

 外交館は設置した HEXの戦力を相手側に増して見せて攻め込まれないようにするという建設物だったけど、マップが狭いし CPUが全然攻め込まなくなるので廃止してみた。

 合わせて CPUが攻め込む条件や城壁値のバランス等を調整して CPUが積極的に攻め込んで状況が変化するようにした。
 
 
 倉庫の支配人の能力によりアイテムの最大数増加。

 INT/5で最大 20個倉庫のアイテムストック数が増えるようにした。
 
 

 通常は 30個で、INTの補整 8個分増えてる、城の初期値は 50個、左の数字は現数。
 
 
 アイテムストックの種類のバランスを取るアルゴリズムを追加

 後半戦で戦力が拮抗して攻め切れない原因の一つがストックするアイテムのバランスで、今までは単にアイテム Lvで入れ替えしていただけだったので、種類のバランスが悪くて弱体化していた。

 出現時にバランスよく出現するように調整した。

	  itsf1=itd(25,itn)	; ストック種類
	  itsf2=0 ; 個数
	  itsf3=0 ; 入れ替えフラグ(0=無し、1=一種、2=レベル順)
	  itsf4=0 ; 1種の個数

	  repeat  pib,idsh(pn) : ig=cnt*idb
	   if id(cnt*idb+25)=itsf1 : itsf2+ ; 個数
	  loop

	  n=pibsn(pn)+1 : soukon=n ; 倉庫の数
	  if itsf1=1  : itsf3=1 : itsf4=n*3;2 ;: if itsf2>=itsf4 : itsf3=2 ; 剣
	  if itsf1=2  : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 両剣
	  if itsf1=3  : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 棍
	  if itsf1=4  : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; ロッド
	  if itsf1=5  : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 槍
	  if itsf1=6  : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 弓
	  if itsf1=7  : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 銃
	  if itsf1=8  : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 大砲
	  if itsf1=9  : itsf3=0 : itsf4=n*2/*1*/ : if itsf2>=itsf4 : itsf3=2 ; ボウ
	  if itsf1=10 : itsf3=0/*1*/ : itsf4=n*2/*1*/ : if itsf2>=itsf4 : itsf3=2 ; 投擲
;11
	  if itsf1=11 : itsf3=1 : itsf4=n*3;2 ;: if itsf2>=itsf4 : itsf3=2 ; 防具
	  if itsf1=12 : itsf3=1 : itsf4=n*2;2 ;: if itsf2>=itsf4 : itsf3=2 ; ステ防具
	  if itsf1=13 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 盾
;16
	  if itsf1=14 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 帽子
	  if itsf1=15 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; ステ帽子
	  if itsf1=16 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 篭手
	  if itsf1=17 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 靴
;20
	  if itsf1=18 : itsf3=3 : itsf4=n*10;: if itsf2>=itsf4 : itsf3=2 ; アクセ
;30
	  if itsf1=19 : itsf3=0 : itsf4=n*2 : if itsf2>=itsf4 : itsf3=2 ; ガイド
	  if itsf1=20 : itsf3=1 : itsf4=n*3;1 ;: if itsf2>=itsf4 : itsf3=2 ; 本
	  if itsf1=21 : itsf3=0 : itsf4=n*3/*2*/ : if itsf2>=itsf4 : itsf3=2 ; 爆弾
;35
	  if itsf1=22 : itsf3=3 : itsf4=n*9 ;: if itsf2>=itsf4 : itsf3=2 ; アイテム
;44
	  if itsf1=23 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 矢筒
	  if itsf1=24 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 矢
	  if itsf1=25 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 弾
	  if itsf1=26 : itsf3=1 : itsf4=n*2;1 ;: if itsf2>=itsf4 : itsf3=2 ; 砲弾
;48
	  if itsf1=27 : itsf3=1 : itsf4=n*6;2 ;: if itsf2>=itsf4 : itsf3=2 ; 魔法
;50


	  if itsf3=0 { ; 空きがある
	   in=0
	   repeat pibn(pn),idsh(pn) : ig=cnt*idb ; アイテムNo,
	    if id(ig)=0 : in=cnt : pibg(pn)+ : break ; 空き
	   loop
	   if in=0 : itsf3=2 ; swbreak ; 空きが無かった
	  }


	  if itsf3=1 or itsf3=3 { ; 1種1個
	   c=0 : f=0
	   repeat pibn(pn),idsh(pn) : in2=cnt : ig2=in2*idb
	    if id(ig2)!itn : continue ; 違うアイテム
	    if itsf3=1 : f=1 : break
	    if itsf3=3 : c+ : if c>=soukon : f=1 : break ; 既に個数有るので終わり
	   loop
	   if f=1 : swbreak ; 個数有る

; 空き確認
	   in=0
	   if itsf2<itsf4 {
	    repeat pibn(pn),idsh(pn) : ig=cnt*idb ; アイテムNo,
	     if id(ig)=0 : in=cnt : pibg(pn)+ : break ; 空き
	    loop
	   }

	   if in=0 { ; 空きが無かった

	    n1=itd(15,itn) ; 作成レベル
; 入れ替え
	    repeat pibn(pn),idsh(pn) : in2=cnt : ig2=in2*idb
	     if id(ig2)=0 or id(ig2+25)!itsf1 : continue ; 比較外
	     n2=id(ig2+15)
	      if n2<n1 : in=cnt : n1=n2 ; 最弱
	    loop
	    if in=0 : swbreak ; 入れ替えなかった
	   }
	  }


	  if itsf3=2 { ; レベル順: 

	   n1=itd(15,itn) ; 作成レベル

; 入れ替え
;nn=1 : gosub *ijyun_put1
	   in=0
	   repeat pibn(pn),idsh(pn) : in2=cnt : ig2=in2*idb
	    if id(ig2)=0 or id(ig2+25)!itsf1 : continue ; 比較外
	    n2=id(ig2+15) ; レベル
	     if n2<n1 : in=cnt : n1=n2 ; 最弱
	   loop
	   if in=0 : swbreak ; 入れ替えなかった
;nn=2 : gosub *ijyun_put1
	  }

 これを作るのに 3週間かかった、ちょっと調子悪かったのもある、大統領戦が・・・(笑)
 
 
 そのためにアイテムエディッターに後付でストック種類の項目をデータに追加、編集してる。


 
 
 これで後半戦でも CPUのアイテムストックバランスはよくなった。


 
 
 また CPU任せでも統一してくれるようになった。


 
 
 後細かい修正で、残ってた mes表示を改修。


 
 
 
 という事で、今度こそそろそろオープンベータへの移行を考えてる。

コメントを残す

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