勢力表示と画面操作を作る


2017年 6月4日~6月7日
 
 
 今度は各プレイヤー事の勢力範囲を作っていく事にする。
 
 
 とりあえず 7プレイヤーの表示色を設定して

 前々々回辺りの HEXの色分け技術を使って表示

 色が薄くて分かり難いようなので、後で縁とグラデをもう少し厚く表示するように調整しよう。
 
 
 次にタップしたらその HEXの情報と編集画面を表示、ドラッグで隣接マスへ侵攻というのを作る。

 前々回辺りの技術を元に、タップしたら HEX国の情報ウインドウを開くプログラムを作る。

 画面内に数字が表示されているのは、バグでは無くて HSPDishだと mes表示は常に一番上に表示されるかららしい。

 故にまず HSPDishの本プログラムでは mes命令は自分は使わない。
 もちろん、フォントが機種依存だと言うのもある。
 
 
 次に自分の勢力(青)に隣接する HEXでボタンを放すと攻め込む仕様にする。

 サラッと書いてるが、多少苦労した。

;------- 入力 -------

	 stick k,256,0
	  if k=128 : break ; ESC END

	 kx=mousex : ky=mousey : kn=0

	 repeat 25,1 ; カーソル位置確認
	  if txyd(0,cnt)<kx and txyd(1,cnt)<ky and txyd(2,cnt)>kx and txyd(3,cnt)>ky {
		  if map(cnt)>0 : kn=cnt : break
	  }
	 loop

	 repeat 1 ; タップ処理
	  if kc2>0 : kc2- : break ; キーを入力しないウエイト

	  if k=256 and kc=0 : kc+ : hink=kn : break ; 押し始め
	  if k!256 and kc>0 {						; 一度押してから放した
	    if hink=kn and map(kn)>0 {
		 if plm(kn)=1 : mainf=1 : else : mainf=1 ; 自分の国なら国情報画面
	    }
		if plm(hink)=1 and plm(kn)!1 {
			repeat 6,1 ; 自分の国で無いなら攻め込む
	   		 m=hmv(hink,cnt) ; 6方向の座標を求める独自関数
			 if m=kn : mainf=2 : break ; 隣接するか
			loop
		}
		kc=0 : hink=0
	  }
	 loop
	 if mainf!0 : break

 plm(n)=MAPの勢力

 mainf=0、メイン MAP画面
 mainf=1、国情報画面
 mainf=2、攻め込む

 国情報画面で、後で自分の勢力ならその国の人事とか部隊配置をいじれるようにする。
 とにかく暫定的に。
 
 
 これまた暫定的に、全部自勢力にするとクリア表示するようにした。

 一応ゲーム目的はこんな感じで全部占領するか、たぶん全勢力を滅ぼす(首都を落とす)になるはず。
 
 
 とりあえずマップ処理関係はこんな感じかな。

コメントを残す

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