[目次へ][前へ][次へ][表紙へ]
 カー・レースを作ろう その2

 3.タイトル画面の表示
	;
	;タイトル画面
	;
*Title_Screen
	gosub *Clear_Screen
	pos 180, 128
	color 0, 255, 255
	font "MS 明朝", 72
	mes "CAR RACE"
	msx = 256 : msy = 480 - 48
	message = "PUSH Z KEY"
	gosub *Write_Message
*Input_Z
	await 16
	getkey key, 90
	if key == 0 { goto *Input_Z }
 4.ゲームスタート時の初期設定
	;
	;ゲームスタート時の初期設定
	;
	score = 0
	n_enemy = 1
	n_car = 3

 n_enemyは一度に何台敵の車を出すかを入れます(nはnumber(数)の略です)。

 上図は、n_enemyが3の時です。このように、一度に横に何台出すかを表します。初期値は1とします。

 n_carは自分の車の残機数です。

 5.再スタート時の初期設定

 ゲームスタート時にも行いますが、自分の車が爆発した後再開する時に行う処理です。

	;
	;再スタート時の初期設定
	;
*Restart
	;敵の存在フラグを0にする
	for i, 0, ENEMAX
		enemy_f(i) = 0
	next
	;自分の車の座標
	mycar_x = (GWIDTH - 32) / 2
	mycar_y = GHEIGHT - 48
	
	appear_cnt = 0
	score_cnt = 0
	car_cnt = 0
	explosion_f = 0
	
	;走行音を鳴らす
	mmplay 0


	;敵の存在フラグを0にする
	for i, 0, ENEMAX
		enemy_f(i) = 0
	next

 ゲームスタート時は、まだ敵の車は1台も存在しません。再スタート時にも同じようにします。

	appear_cnt = 0

 敵の車の出現用カウンタです。

	score_cnt = 0

 スコア用カウンタです。
 appear_cntとscore_cntはメイン・ループを1周するたびに1ずつ増やします。

	;
	;メイン・ループ
	;
*Main_Loop
	・
	・
	・
	appear_cnt++
	score_cnt++
	
	goto *Main_Loop

 メイン・ループを1周するたびに敵の車を出していたのでは、あっという間に画面が敵の車だらけになってしまいます。そこで、16周に1回の割合で出すことにします。つまり、appear_cntが16になったら出現させます。
 スコアもやはり、毎回増やしていたらものすごい勢いで上がっていきます。そこで、メイン・ループ32周に1回の割合で増やします。つまり、score_cntが32になった時です。

	car_cnt = 0

 car_cntは敵の車を何回出したかを数えるカウンタです。30回出すたびにn_enemyを1増やします。

	explosion_f = 0

 自分の車が爆発中かどうかのフラグです。爆発中なら1、そうでないなら0を入れます。


[目次へ][前へ][次へ][表紙へ] inserted by FC2 system