CDW ゲームクリア画面を作った


2022年 8月 19日
 
 
 ゲームクリア画面を作った。


 
 

 メインルーチンでは 9番

	while ;---------- メインルーチン ----------

	 switch mainf
	  case 0 : gosub *initialize				: swbreak ; 初期
	 ; case 1 : gosub *opening	: mainf=2		: swbreak ; オープニング
	 ; case 2 : gosub *titl						: swbreak ; タイトル
	  case 3 : gosub *game_start				: swbreak ; ゲーム開始
	  ;case 4 : gosub *tutorial					; swbreak ; チュートリアル
	  case 5 : gosub *game_main	 				: swbreak ; ゲームメイン
	  case 6 : gosub *option					: swbreak ; オプション
	  ;case 7 : gosub *plyer_cange: mainf=5		: swbreak ; 探索
	  ;case 8 : gosub *game_over : mainf=2		: swbreak ; ゲームオーバー	  
	  case 9 : gosub *game_clear				: swbreak ; ゲームクリア
	  ;case 10 : gosub *ending	: mainf=2		: swbreak ; エンディング
	 swend

	 if mainf=10 : _break							; END

	wend ;-------------------------------------

 
 
 リプレイ、タイトルヘ、リスタートが選べる。


 
 
 リプレイを選択すると


 
 
 リプレイが始まる

 リプレイはバグがあって、まだ完全じゃない。
 
 
 リスタートはそのマップの始めからやりなおせる。


 
 
 タイトルはまだ作ってない。
 
 
 ソース

*game_clear

	rep_add 5 ; リプレイデータの終端処理

	gcf=0 ; モード
	repeat
	 scr_key ; スクロール入力
	 repeat 1
	  if k=256 : break ; 放してない
	  if kf=0  : break ; 一度も押してない
	  if kf=2 : kf=0 : break ; スクロールモード

	  kf=0
	  if gcf=0 : gcf=1 : break
	  if gcf=1 {
	   if gcx1-25<mx and gcy1-10<my and gcx1+197>mx and gcy1+49>my : gcf=2 : break ; REPLAY
	   if gcx3-25<mx and gcy3-10<my and gcx3+284>mx and gcy3+49>my : gcf=4 : break ; GO TO TITL
	   if gcx5-25<mx and gcy5-10<my and gcx5+229>mx and gcy5+49>my : gcf=6 : break ; RESTART
	   gcf=0
	  }

; YES
	  if gcf=2 { ; REPLAY
	   if gcx2-25<mx and gcy2-10<my and gcx2+121>mx and gcy2+49>my {
	    gosub *replay ; リプレイ
	   }
	   gcf=0 : break
	  }
	  if gcf=4 { ; GO TO TITL
	   if gcx4-25<mx and gcy4-10<my and gcx4+121>mx and gcy4+49>my {
	    mainf=2 ; タイトルへ
	   }
	   gcf=0 : break
	  }
	  if gcf=6 { ; RESTART
	   if gcx6-25<mx and gcy6-10<my and gcx6+121>mx and gcy6+49>my {
		gosub *start_data_load ; スタートデータロード
	    mainf=5 ; ゲームメインへ
	   }
	   gcf=0 : break
	  }
	 loop

	 if mainf!9 : break

	 redraw 0
	  sc_mput
	  gc_put
	 redraw 1
	 await 1000/50
	loop

	return

 
 
 表示

#deffunc gc_put ; ゲームクリアエリア表示

; 背景
	pos px,800+py : celput gs3Dw

; 文字
	pos 78+px,825+py : celput gcft1w
	pos 66+px,900+py : celput gcft2w

; エリア境界線
	gmulcolor 240,240,240
	pos px,gw3y-10+py : celput linew,0,0.815,0.4

	if gcf=0 : return

	pos gcx0+px,gcy0+py : celput sinfow

	pos gcx1+px,gcy1+py : celput gcft3w
	pos gcx3+px,gcy3+py : celput gcft4w
	pos gcx5+px,gcy5+py : celput gcft5w

	if gcf=2 {
	 pos gcx2+px    ,gcy2+py : celput gcft6w
	 pos gcx2+187+px,gcy2+py : celput gcft7w
	}
	if gcf=4 {
	 pos gcx4+px    ,gcy4+py : celput gcft6w
	 pos gcx4+187+px,gcy4+py : celput gcft7w
	}
	if gcf=6 {
	 pos gcx6+px    ,gcy6+py : celput gcft6w
	 pos gcx6+187+px,gcy6+py : celput gcft7w
	}

	return

 
 
 今はターン表示を作ってる。

 後おおまかなのはタイトルと音関係。
 
 

コメントを残す

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