tamaenaga_dish.hsp

sample\tamane\tamaenaga_dish.hsp » Plain Format

#include "hsp3dish.as"
#include "mod_vpad.as"
#packopt name "tamaenaga"

	;	珠音ちゃんシマエナガ サンプル
	;	(実際の画像データはhsptvフォルダに入っています)
	;
	randomize

	if (hspstat&$20000)=0 {
		screen 0,640*2,480*2
	}
	title "Tamane Shimaenaga v1.0"

	celload "yama.jpg",1		; 素材フォルダから読み込みます
	celload "tamaenaga.png",2		; 素材フォルダから読み込みます
	celdiv 2,32,32

#define CHR_ENAGA 0
#define CHR_ENAGAR 4
#define CHR_TAMAENAGA 8
#define CHR_TAMAENAGAR 12
#define CHR_KARASU 16
#define CHR_KARASUR 20
#define CHR_HATO 24
#define CHR_HATOR 28
#define CHR_SUZUME 32
#define CHR_SUZUMER 36

#define TYPE_MY 1
#define TYPE_ENEMY 2

	es_ini
	es_size 32,32,75
	es_patanim  CHR_ENAGA, 4, 0,0, 4, 2
	es_patanim  CHR_ENAGAR, 4, 32*4,0, 4, 2
	es_size 32,52,75
	es_patanim  CHR_TAMAENAGA, 4, 0,76, 4, 2
	es_pat CHR_TAMAENAGA, 64,76, 2, 2
	es_patanim  CHR_TAMAENAGAR, 4, 128,76, 4, 2
	es_pat CHR_TAMAENAGAR, 128+64,76, 2, 2
	es_size 32,32,75
	y=128
	es_patanim  CHR_KARASU, 4, 0,y, 4, 2
	es_patanim  CHR_KARASUR, 4, 128,y, 4, 2
	y=y+32
	es_patanim  CHR_HATO, 4, 0,y, 4, 2
	es_patanim  CHR_HATOR, 4, 128,y, 4, 2
	y=y+32
	es_patanim  CHR_SUZUME, 4, 0,y, 4, 2
	es_patanim  CHR_SUZUMER, 4, 128,y, 4, 2

	hspvpad_init 3,4, 400,0, 640,480

*start
	score=0
	rate=12
	es_clear
	clrobj

	frame=0
	mylife=1:myx=100:myy=100:myspd=4
	es_set 0, myx,myy, CHR_TAMAENAGAR
	es_type 0, TYPE_MY
*main
	stick key,$ffff
	if (hspstat&$20000)=0 {
		if key&128 : end
	}
	hspvpad_key key
	gosub *mymove

	redraw 0
	viewcalc vptype_2d,2,2
	pos 0,0:gmode 0:celput 1		; 背景
	es_draw

	if mylife=0 {
		font "",50:rgbcolor -1
		pos 180,160:mes "Tamane Out!"
	}
	;viewcalc vptype_2d,1,1
	font "",20:rgbcolor -1
	pos 0,0:mes "SCORE:"+score
	hspvpad_put

	redraw 1
	await 1000/60
	frame++
	goto *main

*mymove
	if mylife=0 : goto *mydown

	if key&2 : myy-=myspd
	if key&8 : myy+=myspd
	if key&1 : myx-=myspd
	if key&4 : myx+=myspd

	score++
	myx=limit(myx,0,640-32)
	myy=limit(myy,0,464-32)
	es_pos 0, myx, myy
	es_check i,0
	if i>=0 {
		mylife=0
		objsize 200,40
		pos 220,220:button "RETRY",*start
	}

	if (frame\rate)=0 {
		x=640:y=rnd(480)
		es_new i
		es_set i, x,y, CHR_KARASU+rnd(3)*8
		es_type i, TYPE_ENEMY
		x=rnd(30)-40:y=rnd(50)-20
		es_apos i, x, y, 10
	}
	if ((frame\180)=0) {
		rate--
		if rate<3 : rate=3
	}

	return

*mydown
	if myy<480 : myy+=8
	es_pos 0, myx, myy
	return