Beispiel #1
0
Dungeon::Dungeon()
{
	black = GetColor(0, 0, 0);
	yellow = GetColor(255, 255, 0);
	white = GetColor(255, 255, 255);
	blue = GetColor(0, 0, 255);

	SetTransColor(255, 255, 255); //白を透過色に
	yajirushi_h = LoadGraph("./dungeon/yajirushi.png");
	SetTransColor(0, 0, 0); //一応戻す
	event_h = LoadGraph("./img/2bikkuri.bmp");

	if (yajirushi_h == -1)
	{
		DrawString(0, 0, "Error!", GetColor(255, 0, 0));
		WaitKey();
	}
	SetUseZBuffer3D(TRUE); //深度ステンシルバッファ
	SetWriteZBuffer3D(TRUE); //。今のところ必要ない…と思いきや、一方通行の壁が荒ぶることへの対処ができる。一瞬暗くなるのは仕方ない?

	option = Option::GetInstance();
	savedata = SaveData::GetInstance();
	menu = Menu::GetInstance();
	player = new Player(Prologue::RIAJU);
	LoadDungeon(3);
}
Beispiel #2
0
	void draw_main()
	{	
		if(GetNowCount() - Csystem::start_time > 90000) return;

		SetUseZBuffer3D( TRUE );
		SetWriteZBuffer3D( TRUE );
		ChangeLightTypePoint( VGet(0,500,0), 1000, 2, 0, 0 ) ;
		draw_wall(VGet(-500,1000,-500),VGet(-500,1000,500),VGet(500,1000,500),VGet(500,1000,-500),
				VGet(-500,0,-500),VGet(-500,0,500),VGet(500,0,500),VGet(500,0,-500));


		Pplayer->Preticle->draw();
		if(Pplayer->target_type == Cplayer::FREE)
		{
			Pplayer->draw();
			Pplayer->Pright_arm->right_draw();
			Pplayer->Pleft_arm->left_draw();
		}
		int player_hp = 254 * Pplayer->hit_point/1500;
		DrawRectGraph(80,14,0,0,player_hp,25,player_hp_g,TRUE,FALSE);

		switch (Csystem::game_mode)
		{
		case Csystem::SOLO:
			Pboss->draw();
			DrawRectGraph(1195-(254 * Pboss->hit_point/4193),14,254 -(254 * Pboss->hit_point/4193),0,254,25,enemy_hp_g,TRUE,FALSE);
			break;
		case Csystem::ONLINE:
			Penemy->draw();
			DrawRectGraph(1195-(254 * Penemy->hit_point/1500),14,254 -(254 * Penemy->hit_point/1500),0,254,25,enemy_hp_g,TRUE,FALSE);
			break;
		}
		for(int i = 0;i < 4;i++)
		{
			for(int k = 0;k < AMMO_MAX;k++)
			{
				Pplayer->Pleft_shot[i][k]->draw();
				Pplayer->Pright_shot[i][k]->draw();
			}
		}
		for(int k = 0;k < AMMO_MAX;k++)
		{
			Pboss->Pshot[k]->draw();
		}

		DrawGraph(0,0,hp_bar_g,TRUE);
		Pcamera->draw();
#ifdef _DEBUG
		DrawFormatString(800,0,0x000fff,"%d",GetJoypadInputState( DX_INPUT_PAD1 ));
		DrawFormatString(0,20,0x000000,"X座標:%6f",Pplayer->pos.x);
		DrawFormatString(0,40,0x000000,"Y座標:%6f",Pplayer->pos.y);
		DrawFormatString(0,60,0x000000,"Z座標%6f",Pplayer->pos.z);
		DrawFormatString(460,0,0x000000,"敵撃破数%3d",Csystem::destroy_enemy);
		DrawFormatString(460,20,0x000000,"経過時間%2d秒",(GetNowCount() - Csystem::start_time)/1000);
#endif
	}
Beispiel #3
0
void Game::Initialize()
{
	// Zバッファを有効にする
	SetUseZBuffer3D(TRUE);

	// Zバッファへの書き込みを有効にする
	SetWriteZBuffer3D(TRUE);

	Debug::SetClear(true);

	m_sceneManager.Add<TestScene>(Scene::TestScene);
	m_sceneManager.Add<TestScene2>(Scene::TestScene2);

	m_sceneManager.Push(Scene::TestScene);
}
Beispiel #4
0
void draw() {
	if (play_mode == false) {
		draw_Title();
		if (keyboard.checkKey(KEY_INPUT_SPACE) == 1) {
			play_mode = true;
		}
	}
	else {
		if (over_flag == false) {
			SetUseZBuffer3D(TRUE);
			SetWriteZBuffer3D(TRUE);
			setCamera();
			//draw_Planet();
			draw_Dust();
			draw_Player_shot();
			draw_Enemy_shot();
			draw_Player();
			draw_Enemy();
			draw_Effect();
			draw_Player_HP();
			if (clear_flag == true) {
				draw_GameClear();
				if (keyboard.checkKey(KEY_INPUT_SPACE) == 1) {
					play_mode = true;
					initialization();
				}
			}
			
		}
		else {
			draw_GameOver();
			if (keyboard.checkKey(KEY_INPUT_SPACE) == 1) {
				play_mode = true;
				initialization();
			}
		}
	}
}
Beispiel #5
0
	static void Use(const bool use)
	{
		SetUseZBuffer3D(use);
		SetWriteZBuffer3D(use);
	}