東方弾幕風[Single]
#ScriptVersion[2]
#Title[ザコ4]

script_enemy_main{
	
	@Initialize{
		//データ初期化
		InitializeData();
		Initialize_Fairy( VERYSMALL );
		
		//画像設定
		imgBoss = imgFairy_Red;
		
		//ライフ設定
		SetLife( 1 );
		
		//当たり判定設定
		SetCollisionEx( 32, 8, false, 30 );
		
		//メインタスク開始
		TMain();
	}
	
	@MainLoop{
		//yieldループ
		yield;
	}
	
	@DrawLoop{
		//妖精さん画像描画
		DrawFairy( imgBoss );
	}
	
	@Finalize{
		//最終処理
		FinalizeData();
	}
	
	/**
	 * メインタスク
	 */
	task TMain(){
		//移動タスク
		MoveTask();
		
		//10F(約0.16秒)待つ
		FWait( 10 );
		
		//攻撃分岐
		alternative( difficult )
			case( "Easy" ){
				Atack_Easy();
			}
			case( "Normal" ){
				Atack_Normal();
			}
			case( "Panic" ){
				Atack_Panic();
			}
	}
	
	/**
	 * Easy 攻撃メインタスク
	 */
	task Atack_Easy(){
	}
	
	/**
	 * Normal 攻撃メインタスク
	 */
	task Atack_Normal(){
	}
	
	/**
	 * Panic 攻撃メインタスク
	 */
	task Atack_Panic(){
		Atack1();
	}
	
	/**
	 * 弾幕タスク1
	 */
	task Atack1(){
		let angle = 0;
		
		loop( 5 ){
			angle = rand( -6, 6 );
			ascent( j in 0..7 ){
				CreateShot01( GetX(), GetY(), 5.4 + j * 0.3, GetAngleToPlayer(), US_BALL_S_RED, 0 );
			}
			
			FWait( 8 );
		}
	}
	
	/**
	 * 移動タスク
	 */
	task MoveTask(){
		let angle = GetAngle();
		let lim = 14;
		loop( 40 ){
			angle = AngleSearch( GetX(), GetY(), GetPlayerX(), GetPlayerY(), angle, lim );
			SetAngle( angle );
			lim *= 0.95;
			yield;
		}
		
		FWait( 200 );
		
		//敵自動消去
		isautodelete = true;
		VanishEnemy();
	}
	
	//スクリプトのインクルード
	#include_function ".\..\..\initialize_zako.txt"
}