コード例 #1
0
ファイル: start.cpp プロジェクト: falgon/Udetate
void begin(menu& m)
{
	ClearDrawScreen();
	const unsigned int x=0;
	const unsigned int y=195;
	const unsigned int Green=GetColor(0,255,0);
	unsigned int counter=0;

	m.load_max_v();
	
	DrawFormatString(520,450,GetColor(255,255,255),"Loading ...");
	for(unsigned int count_down=3;
			!ScreenFlip()&&!ProcessMessage()&&!ClearDrawScreen()&&count_down>0;
			--count_down){
				m.effectiving();
				DrawStringToHandle(x+260,y,boost::lexical_cast<std::string>(count_down).c_str(),
					Green,m.font_Handle[1]);
				
				std::this_thread::sleep_for(std::chrono::seconds(1));
	}
	std::this_thread::sleep_for(std::chrono::seconds(1));

	std::chrono::system_clock::time_point start=std::chrono::system_clock::now();
	while(!ScreenFlip()&&!ProcessMessage()&&!ClearDrawScreen()){
		m.effectiving();

		DrawStringToHandle(x+100,y,"残り",Green,m.font_Handle[0]);
		DrawStringToHandle(x+235,y,boost::lexical_cast<std::string>(m.max_v-counter).c_str(),
							Green,m.font_Handle[1]);
		DrawStringToHandle(x,0,
			(std::string("回数: ")+=boost::lexical_cast<std::string>(m.max_v)).c_str(),
			Green,m.font_Handle[2]);
		DrawStringToHandle(x,45,
			(std::string("現在: ")+=boost::lexical_cast<std::string>(counter)).c_str(),
			Green,m.font_Handle[2]);
		DrawStringToHandle(x,90,
			(std::string("時間: ")+=boost::lexical_cast<std::string>(
				std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now()-start).count()
			)).c_str(),
			Green,m.font_Handle[2]);
		DrawStringToHandle(x,135,"Q: 中止",Green,m.font_Handle[2]);
		
		count(counter);
		if(counter==m.max_v)break;
		if(CheckHitKey(KEY_INPUT_Q))break;
	}

	Rank(std::chrono::duration_cast<std::chrono::seconds>(std::chrono::system_clock::now()-start),m);
}
コード例 #2
0
ファイル: Main.cpp プロジェクト: jinopapo/Hoshi_wo_miru_hito
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
	ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定
	SetGraphMode(512,512,16) ;//ディスプレイの大きさの設定

	SceneMgr sceneMgr;
    sceneMgr.Initialize();


	while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && gpUpdateKey()==0 ){
        sceneMgr.Update();  //更新
        sceneMgr.Draw();    //描画
		fps();
		if(Keyboard_Get(KEY_INPUT_F1) == 1){
			debbattle = !debbattle;
		}
		if(debbattle){
		    DrawFormatString(0, 10,GetColor(255,255,255),"battle:true");
		}
		fpsc++;
	}

	sceneMgr.Finalize();
	DxLib_End();	// DXライブラリ終了処理
	return 0;
}
コード例 #3
0
ファイル: main.cpp プロジェクト: shadowjen/vantan
//	--------------------------------------------------------------------
//	プレイヤー、敵、弾、背景の描画処理を呼ぶ
//	--------------------------------------------------------------------
void DrawGame()
{
    // 画面を初期化
    ClearDrawScreen();

    // 描画先画面を裏にする
    SetDrawScreen( DX_SCREEN_BACK );

    //	背景描画
    DrawBG();

    //	プレイヤーの描画処理
    DrawObject(Player);
    //	プレイヤーの弾描画
    DrawObject(PlayerShot);

    //	敵の描画
    DrawObject(Enemy);
    //	敵の弾描画
    DrawObject(EnemyShot);

    //	裏画面に描いたものを表画面に反映する
    ScreenFlip();

    return;
}
コード例 #4
0
ファイル: Main.cpp プロジェクト: Numkn644/BlackJack
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
	ChangeWindowMode(TRUE);
	DxLib_Init();
	SetDrawScreen(DX_SCREEN_BACK);

	int handle = LoadGraph("image/backGround.png");

	GameManager *gameMgr;
	gameMgr = new GameManager();

	/*初期化処理*/
	gameMgr->initialize();

	while (!ProcessMessage() && !ScreenFlip() && !ClearDrawScreen())
	{
		/*キーボードアップデート*/
		KeyboardInput::Instance()->update();
		if (KeyboardInput::Instance()->get(KEY_INPUT_ESCAPE) == 1){ break; }


		DrawGraph(0, 0, handle, FALSE);

		/*メイン処理*/
		gameMgr->execute();

	}
	/*終了処理*/
	gameMgr->finalize();
	delete gameMgr;

	DxLib_End();

	return 0;
}
コード例 #5
0
void WriteNobelString(char* str){
	int line=0;
	int defx=60;
	int defy=360;

	for(int i=0; str[i]!='\0' && CheckHitKey(KEY_INPUT_LCONTROL)==0 ; i++){

		ClearDrawScreen();
		DrawGraph(0,0,graph::back[0],true);
		DrawCharaGraph(chara_num);
		DrawGraph(0,0,graph::textbox,true);
		//DrawTextBox();

		if(i!=0 && i%MSG_MAX_LEN==0){
			line+=1;
		}

		for(int n=0; n<MSG_MAX_LINE; n++){
			if(n==line){
				WriteString(str, n*MSG_MAX_LEN, i-n*MSG_MAX_LEN, defx, defy+20*n,  n);
				break;
			} else {
				WriteString(str, n*MSG_MAX_LEN, MSG_MAX_LEN, defx, defy+20*n, n);
			}
		}

		Sleep(1);

		ScreenFlip();
	}
	while(ProcessMessage()==0 && (CheckHitKey(KEY_INPUT_Z)==0 && CheckHitKey(KEY_INPUT_LCONTROL)==0) ){

	}
}
コード例 #6
0
ファイル: main.cpp プロジェクト: Dhikigame/games
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
    
    ChangeWindowMode(TRUE);//ウィンドウモード
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化

	int Menu = 1;
	load();
	ini();

    while(ProcessMessage()==0 && ClearDrawScreen()==0 && gpUpdateKey(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){
          //↑メッセージ処理         ↑画面をクリア            ↑入力状態を保存       ↑ESCが押されていない

		if(Key[ KEY_INPUT_SPACE ]==1 || Key[ KEY_INPUT_RETURN ]==1)
         Menu = 2;

		switch(Menu){
		 case 1:back_graph();break;
		 case 2:main_graph();break;
		 }
        ScreenFlip();//裏画面反映関数
    }

    DxLib_End();//DXライブラリ終了処理
    return 0;
}
コード例 #7
0
ファイル: System.cpp プロジェクト: YAZAWA68/greedgreen
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){

	SetWindowText("Title");
	SetGraphMode(WINDOW_WIDTH , WINDOW_HEIGHT,32 );
	ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK );

	int LoadImage = LoadGraph("Natsuiro/BLOCK/load.png");
	DrawExtendGraph(0,0,WINDOW_WIDTH,WINDOW_HEIGHT, LoadImage ,false);
	ScreenFlip();
	
	SetTransColor(255,0,255);
	Awake();

	long long TIME = GetNowHiPerformanceCount();
#	if	BENCHMARK == TRUE
	long long int count = GetNowCount();
#	endif

	while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && !CheckHitKey(KEY_INPUT_ESCAPE) ){
		GameLoop();
		Sleep( (unsigned long)max( 16 - (int)( GetNowHiPerformanceCount() - TIME ) / 1000 , 0 ) );
		TIME = GetNowHiPerformanceCount();

#		if BENCHMARK == TRUE
		DrawFormatString(WINDOW_WIDTH-200,0,BLACK,"FPS %d (%dms)", (int)( 1000/( GetNowCount() - count ) ) , GetNowCount() - count );
		count = GetNowCount();
#		endif

	}
        
	DxLib_End();
	return 0;
} 
コード例 #8
0
ファイル: Main.cpp プロジェクト: saitousann/Shooting
// プログラムは WinMain から始まります
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	GameScene* mGameScene;		//ゲームシーンの作成 こいつが画面を見ている
	mGameScene = new GameScene;	//インスタンス生成 GameSceneのコンストラクタでタイトルシーンをを入れている
	
	SetGraphMode(640, 480, 16);	//画面の解像度
	ChangeWindowMode(TRUE);
	if (DxLib_Init() == -1)		// DXライブラリ初期化処理
	{
		return -1;			// エラーが起きたら直ちに終了
	}
	// 描画先画面を裏画面にセット
	SetDrawScreen(DX_SCREEN_BACK);
	// ループ
	while (ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0)
	{
		// 画面を初期化する
		ClearDrawScreen();

		//画面動作処理
		mGameScene->Update();

		//画面描画処理
		mGameScene->Draw();

		// 裏画面の内容を表画面に反映させる
		ScreenFlip();
	}
	DxLib_End();				// DXライブラリ使用の終了処理
	return 0;				// ソフトの終了 
}
コード例 #9
0
ファイル: Game.cpp プロジェクト: rumiaqua/DxGame
void Game::ClearScreen() const
{
	if (ClearDrawScreen())
	{
		std::exception("描画スクリーンのクリアに失敗しました");
	}
}
コード例 #10
0
//ループで必ず行う3大処理
int ProcessLoop(){
    if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す
    if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す
    GetHitKeyStateAll_2();//現在のキー入力処理を行う
    GetHitPadStateAll();  //現在のパッド入力処理を行う
    return 0;
}
コード例 #11
0
ファイル: player.cpp プロジェクト: h1dia/BMSPlayer
BmsPlayer::BmsPlayer(std::string bms_path){
	sound_handle.resize(1296);
	graph_handle.resize(1296);
	visnote_begin.resize(8);
	visnote_next.resize(8);
	visnote_size.resize(8);
	notes.resize(8);

	before_graph_index = -1;
	data_out_range = std::make_pair(0, 0);
	index_count.resize(1296);
	visible_time = 500000;
	
	//debug
	combo_debug = 0;

	// parse
	parser = new BmsParser(bms_path);

	parser->parseBms();
	channel_array = parser->getInfoAllChannel();

	// note infomation
	for (int i = 0; i <= 7; i++){
		visnote_size.at(i) = visible_notes(i).size();
	}

	ScreenFlip();
	ClearDrawScreen();
}
コード例 #12
0
ファイル: Main.cpp プロジェクト: Butanosuke/Kikori
bool Process(char key[256]){
	if(ScreenFlip()!=0) return 0;
	if(ProcessMessage()!=0) return 0;
	if(ClearDrawScreen()!=0) return 0;
	if(GetHitKeyStateAll(key)!=0) return 0;
	return 1;
}
コード例 #13
0
ファイル: Main.cpp プロジェクト: Numkn644/BreakBlock
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
	ChangeWindowMode(TRUE);
	DxLib_Init();
	SetDrawScreen(DX_SCREEN_BACK);

	Normal_Ball normalBall(3,4);
	Normal_Bar normalBar(5);

	normalBall.initialize();
	normalBar.initialize();

	while (!ProcessMessage() && !ScreenFlip() && !ClearDrawScreen())
	{
		KeyboardInput::Instance()->update();
		if (KeyboardInput::Instance()->get(KEY_INPUT_ESCAPE) == 1){ break; }

		normalBall.update();
		normalBar.update();

		normalBall.draw();
		normalBar.draw();
	}

	normalBall.finalize();
	normalBar.finalize();

	DxLib_End();

	return 0;
}
コード例 #14
0
ファイル: MrJumper.cpp プロジェクト: Aoneko0501/CppPractice
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int CmdShow)
{
	ChangeWindowMode(TRUE);
	SetGraphMode(WINDOW_X, WINDOW_Y, 32);
	if (DxLib_Init() == -1)return -1;
	SetDrawScreen(DX_SCREEN_BACK);

	//�錾
	GameManager *gm = new GameManager(WINDOW_X, WINDOW_Y);

	while (ProcessMessage() != -1) {
		int startTime = GetNowCount();
		ScreenFlip();
		ClearDrawScreen();

		//����
		gm->All();

		if (CheckHitKey(KEY_INPUT_ESCAPE) == 1)break;
		int endTime = GetNowCount();
		WaitTimer((1000 / 60) - (endTime - startTime));
	}

	delete gm;
	DxLib_End();

	return 0;
}
コード例 #15
0
ファイル: Main.cpp プロジェクト: HORIMACHI/Shooting
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){

		// DXライブラリ初期化
		ChangeWindowMode( TRUE ) ;
        if(DxLib_Init() == -1 ) 
		{
			return -1;
		}

		CShootingScene CShootingScene;
		SetDrawScreen( DX_SCREEN_BACK ) ;
		while(1)
		{		
			ClearDrawScreen();
			CShootingScene.DrawImage();
			ScreenFlip();			
			if( ProcessMessage() < 0 ) break ;
#ifdef _DEBUG
			if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break ;
#endif
		}

		// DXライブラリ終了処理
        DxLib_End();
        return 0;
}
コード例 #16
0
ファイル: Main.cpp プロジェクト: resmuell/RetreatDefense
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){
	ChangeWindowMode(TRUE);
	gFPS.SetDefaultFPS(60);
	if( DxLib_Init() == -1 ){
		 return -1;	// エラーが起きたら直ちに終了
	}
	ChangeFontType(DX_FONTTYPE_ANTIALIASING_EDGE);
	SetMouseDispFlag(TRUE);
	gameManager.SetStage(gameManager.Load);
	for(;;){ //メインループ
		ClearDrawScreen();
		if(ProcessMessage()==-1 || GameMain()==1){break;} //ゲーム本体を実行
		//FPS描画
		int NowFPS = gFPS.Get();
		int Col = (int)(255 * NowFPS / gFPS.GetDefaultFPS());
		//DrawFormatString(500,450,GetColor(255,Col,Col),"FPS: %d",NowFPS);
		ScreenFlip();
		if((GetJoypadInputState( DX_INPUT_KEY_PAD1 ) & PAD_INPUT_10) !=0){
			GetDateTime( &Date );
			std::stringstream fname;
			fname <<"img" << Date.Year << Date.Mon << Date.Day <<Date.Hour <<Date.Min <<GetNowCount() << ".png";
			SaveDrawScreenToPNG( 0 , 0 , 480 , 480 ,fname.str().c_str()) ;
		}
		gFPS.Fix();
	}

	DxLib_End() ;		// DXライブラリ使用の終了処理

	return 0 ;		// ソフトの終了
}
コード例 #17
0
ファイル: Paint2.cpp プロジェクト: kyushu-pc/kpc
void p9(void) {
	SetDrawScreen(DX_SCREEN_BACK);

	char keybuf[256];

	while (ProcessMessage() == 0 && GetHitKeyStateAll(keybuf) == 0 && keybuf[KEY_INPUT_ESCAPE] == 0) {
		ClearDrawScreen();
		DrawLine(10, 10, 200, 10, GetColor(255, 0, 0));
		DrawLine(10, 20, 200, 20, GetColor(0, 255, 0));
		DrawLine(10, 30, 200, 30, GetColor(0, 0, 255));
		SetDrawBlendMode(DX_BLENDMODE_ALPHA, 100);	//	αブレンド
		DrawBox(5, 5, 205, 35, GetColor(255, 255, 255), TRUE);
		SetDrawBlendMode(DX_BLENDMODE_NOBLEND, TRUE);	//	ブレンドなし
		DrawBox(100, 100, 201, 201, GetColor(255, 0, 0), TRUE);
		SetDrawBlendMode(DX_BLENDMODE_ADD, 255);	//	加算ブレンド
		DrawCircle(150, 150, 50, GetColor(0, 255, 255), TRUE);
		SetDrawBlendMode(DX_BLENDMODE_SUB, 255);	//	減算ブレンド
		DrawCircle(150, 150, 30, GetColor(0, 100, 100), TRUE);
		SetDrawBlendMode(DX_BLENDMODE_INVSRC, 255);	//	反転ブレンド
		DrawOval(300, 200, 30, 25, GetColor(0, 0, 0), TRUE);
		SetDrawBlendMode(DX_BLENDMODE_MULA, 255);	//	乗算ブレンド
		DrawOval(300, 200, 25, 30, GetColor(0, 100, 100), TRUE);
		SetDrawBlendMode(DX_BLENDMODE_NOBLEND, 255);
		DrawPixel(320, 240, GetColor(255, 255, 255));
		DrawTriangle(5, 5, 205, 5, 5, 35, GetColor(0, 0, 0), TRUE);
		DrawTriangle(5, 5, 205, 5, 5, 35, GetColor(255, 255, 255), FALSE);

		ScreenFlip();
	}
}
コード例 #18
0
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
	LPSTR lpCmdLine, int nCmdShow)
{
	Application app;
	

	ChangeWindowMode(TRUE),
	SetGraphMode(Application::m_windowWidth,Application::m_windowHeight, 32);
	SetDrawScreen(DX_SCREEN_BACK);
	

	if (DxLib_Init() == -1)    // DXライブラリ初期化処理
	{
		return -1;
	}
	
	//CreateConsoleWindow();
	while (ScreenFlip() == 0 && ProcessMessage() == 0 &&
		ClearDrawScreen() == 0)
	{
		app.AppMain();
	}
	

	DxLib_End();
	CloseConsoleWindow();
	return 0;        // ソフトの終了
}
コード例 #19
0
ファイル: Paint2.cpp プロジェクト: kyushu-pc/kpc
void p12(void) {
	SetDrawScreen(DX_SCREEN_BACK);

	int i;
	char keybuf[256];
	int img;

	i = 0;
	img = LoadGraph("pic11.png");

	while (ProcessMessage() == 0 && GetHitKeyStateAll(keybuf) == 0 && keybuf[KEY_INPUT_ESCAPE] == 0) {
		ClearDrawScreen();

		DrawRotaGraph(120, 239, 1.0, PI / 4.0, img, TRUE);
		DrawCircle(120, 239, 5, GetColor(255, 0, 0), TRUE);

		DrawRotaGraph(320, 239, 1.0, PI / 180.0 * i, img, TRUE);
		DrawCircle(320, 239, 5, GetColor(255, 0, 0), TRUE);

		DrawRotaGraph2(520, 239, 19, 19, 1.0, PI / 180.0 * i * 2, img, TRUE);
		DrawCircle(520, 239, 5, GetColor(255, 0, 0), TRUE);
		ScreenFlip();

		i++;
	}


}
コード例 #20
0
ファイル: Shader.cpp プロジェクト: tanakatanaka/escape
static void begin_depthmap_pass(Shader *self)
{
	// 描画先を影用深度記録画像にする
	SetDrawScreen(self->depthmap_screen);

	// 影用深度記録画像を真っ白にクリア
	SetBackgroundColor(255, 255, 255);
	ClearDrawScreen();
	SetBackgroundColor(0, 0, 0);

	// カメラのタイプを正射影タイプにセット、描画範囲も指定
	SetupCamera_Ortho(13250.0f);

	// 描画する奥行き範囲をセット
	SetCameraNearFar(10.0f, 13050.0f);

	// カメラの位置と注視点はステージ全体が見渡せる位置
	VECTOR LightTarget = VGet(3620.0f, 0.0f, 3830.0f);

	// カメラの向きはライトの向き
	VECTOR LightDirection = VScale(GetLightDirection(), -12400.0f);

	// カメラの位置と注視点はステージ全体が見渡せる位置
	VECTOR LightPosition = VAdd(LightTarget, LightDirection);

	SetCameraPositionAndTarget_UpVecY(LightPosition, LightTarget);

	self->light_camera_view_matrix = GetCameraViewMatrix();
	self->light_camera_projection_matrix = GetCameraProjectionMatrix();

	SetUseVertexShader(self->depthmap_vs);
	SetUsePixelShader(self->depthmap_ps);
}
コード例 #21
0
ファイル: player.cpp プロジェクト: h1dia/BMSPlayer
void BmsPlayer::bmsSoundTest(){
	ChronoTimer timer, calcflame;
	FpsTimer fps;
	std::vector<int> i(1296, 0);

	while (ProcessMessage() == 0){
		play_channel_sound(1, timer.GetLapTime());
		for (int j = 11; j < 20; j++){
			play_channel_sound(j, timer.GetLapTime());
		}

		// TODO : play_channel_graph関数がめっちゃ重い
		//i.at(4) += play_channel_graph(4, i.at(4), timer.GetLapTime());

		if (calcflame.GetLapTime() >= (1.0 / GetRefreshRate()) * 1000000){
			DrawFormatString(0, 0, GetColor(255, 255, 255), "SoundTest");
			DrawFormatString(0, 15, GetColor(255, 255, 255), "GENRE : %s", parser->getHeader("GENRE").c_str());
			DrawFormatString(0, 30, GetColor(255, 255, 255), "TITLE : %s", parser->getHeader("TITLE").c_str());
			DrawFormatString(0, 45, GetColor(255, 255, 255), "ARTIST: %s", parser->getHeader("ARTIST").c_str());
			DrawFormatString(0, 60, GetColor(255, 255, 255), "BPM   : %s", parser->getHeader("BPM").c_str());
			DrawFormatString(0, 75, GetColor(255, 255, 255), "TIME  : %d", timer.GetLapTime());
			DrawFormatString(0, 90, GetColor(255, 255, 255), "内部FPS : %d", fps.GetLapTime());
			DrawFormatString(0, 120, GetColor(255, 255, 255), "解像度 : %d(us)", fps.GetDiff());
			DrawFormatString(0, 135, GetColor(255, 255, 255), "RefLate : %d", GetRefreshRate());

			ScreenFlip();
			ClearDrawScreen();
			calcflame.ResetTime();
			fps.ResetTime();
		}
	}

	InitSoundMem();
}
コード例 #22
0
ファイル: Functions.cpp プロジェクト: MITUKI/StormSignal_ARPG
//処理初め(0)、処理終わり(1)
void ScreenTimer(int Type,int FrameRate)
{
	//タイマー
	static int Timer = 0;
	static double Wait = 0.0;
	//フレームスキップフラグ
	static int FrameSkip = 0;

	if(!Type)
	{
		Timer = GetNowCount();
		ClearDrawScreen();
	}else
	{
		ShowFPS();
		FrameSkip = 0;
		if(!FrameSkip)ScreenFlip() ;
		Wait += (1000.0 / FrameRate - (GetNowCount() - Timer));
		if(Wait > 0)
		{
			Sleep((DWORD)Wait);
			Wait -= (int)Wait;
		}else
		{
			FrameSkip = 1;
		}
	}
}
コード例 #23
0
ファイル: main.cpp プロジェクト: kannkeii/FlappyBird
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
	ShowConsole();



	ChangeWindowMode(true);

	SetGraphMode(288, 512, 32);


	SetDrawScreen(DX_SCREEN_BACK);
	if (DxLib_Init() == -1)
	{
		printf("DxLib起動失敗!!");
		return -1;
	}

	m_pSceneManager = new SceneManager(key);

	m_pSceneManager->load();
	m_pSceneManager->init();

	while (ScreenFlip() == 0 && ProcessMessage() == 0 && getupKey() == 0)
	{
		ClearDrawScreen();

		m_pSceneManager->updata();

		if (key[KEY_INPUT_ESCAPE] == 1)break;
	}

	delete m_pSceneManager;
	return DxLib_End();
}
コード例 #24
0
ファイル: Main.cpp プロジェクト: sakaishunsuke/daisenryaku
//whileのループ条件
int ProcessLoop()
{
	if (ProcessMessage() == -1) return -1;
	if (ClearDrawScreen() == -1) return -1;
	//if (GetHitKeyStateAll_2(Key) == -1) return -1;
	if (Key[KEY_INPUT_ESCAPE] == 1) return -1;
	return 0;
}
コード例 #25
0
void client_main_backup(){
  static Mode status = UNCONNECTED;
	decoder.initialize();

	ClientConnection client(PORT, SERVER_IP);
  ClearDrawScreen();
  const static int titleGraph = LoadGraph( "../graphic/ShootingTitle.jpg");
  DrawGraph( 0, 0, titleGraph, false);
  DrawString( 300, 500, "Now connecting", WHITE);
  ScreenFlip();
	if(!client.connect()){
    ClearDrawScreen();
    DrawString( 200, 500, "Connect failed. Please set up server first.", WHITE);
    DrawString( 200, 550, "Shutdown.", WHITE);
    ScreenFlip();
    Sleep( 7000);
		exit(1);
	}
  status = CONNECTED;

  // 移動ルーチン
	int fpsTimer = GetNowCount();
	Input input;
  while( 1 ){
    input.getKeyInput();
	  client.send(input.encode());
	  vector<int> clientMessage;
	  if(client.receive(clientMessage) >= 0){
  		while(client.receive(clientMessage) >= 0);
		  decoder.draw(clientMessage);
	  }
	  int term;
	  term = GetNowCount()-fpsTimer;
	  if(8-term>0){
  		Sleep(8-term);
	  }
	  fpsTimer = GetNowCount();
  
    // Windows 特有の面倒な処理をDXライブラリにやらせる
    // -1 が返ってきたらループを抜ける
    if( ProcessMessage() < 0 ) break ;
  
    // もしESCキーが押されていたらループから抜ける
    if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break;
  }
}
コード例 #26
0
void OpeningScreen::FadeIn( void ) {
    for( int brightness = 0; brightness < 256; brightness += 15 ) {
        SetDrawBright( brightness, brightness, brightness );
        ClearDrawScreen();
        Draw();
        ScreenFlip();
        Sleep( 10 );
    }
}
コード例 #27
0
void OpeningScreen::FadeOut( void ) {
    for( int brightness = 255; brightness >= 0; brightness -= 15 ) {
        SetDrawBright( brightness, brightness, brightness );
        ClearDrawScreen();
        Draw();
        ScreenFlip();
        Sleep( 10 );
    }
}
コード例 #28
0
ファイル: Paint.cpp プロジェクト: kyushu-pc/kpc
void p7(void) {

	SetDrawScreen(DX_SCREEN_BACK);

	int imgs[16];
	int x, y;
	MUKI muki;	//	Œü‚«
	int speed;	//	‘¬“x
	char keybuf[256];

	x = y = 0;
	muki = UP;
	speed = 10;
	LoadDivGraph("pic11.png", 16, 4, 4, 20, 20, imgs);

	while (ProcessMessage() == 0 && GetHitKeyStateAll(keybuf) == 0) {
		if (keybuf[KEY_INPUT_ESCAPE]) {
			break;
		}

		if (keybuf[KEY_INPUT_UP]) {
			y -= speed;
			muki = UP;
		}

		if (keybuf[KEY_INPUT_DOWN]) {
			y += speed;
			muki = DOWN;
		}

		if (keybuf[KEY_INPUT_LEFT]) {
			x -= speed;
			muki = LEFT;
		}

		if (keybuf[KEY_INPUT_RIGHT]) {
			x += speed;
			muki = RIGHT;
		}

		
		if (y < 0) {
			y = 0;
		} else if (y > 480 - 20) {
			y = 480 - 20;
		}
		if (x < 0) {
			x = 0;
		} else if (x > 640 - 20) {
			x = 640 - 20;
		}
		
		ClearDrawScreen();
		DrawGraph(x, y, imgs[muki * 4 + (x + y) / 20 % 4], TRUE);
		ScreenFlip();
	}
}
コード例 #29
0
void soloplay_main(){
  //画像読み込み
  graresource.initialize();
  decoder.initialize();
  static const int BLACK = GetColor(0, 0, 0);
  static const int WHITE = GetColor(255, 255, 255);
  static const int playerNum = 4;
  Shooting shooting(playerNum);
  // 移動ルーチン
  int fpsTimer = GetNowCount();
  Input input;

  ClearDrawScreen();
  const static int titleGraph = LoadGraph( "../graphic/ShootingTitle.jpg");
  DrawGraph( 0, 0, titleGraph, false);
  ScreenFlip();
  Sleep( 3000);
  while( 1 ){
    input.getKeyInput();
    // todo treat dead client
    //while(true){
    //  int lostNetWork = GetLostNetWork();
    //}
    for(int i = 0; i < playerNum; ++i){
      shooting.setInput(i, input.encode());
    }
    shooting.action();

#ifdef _DEBUG_

    // debug messages
    //dxout << serverMessage << dxendl;

#endif // _DEBUG_

		decoder.draw(graresource.getMessages());
    graresource.clear();
    int term;
    term = GetNowCount()-fpsTimer;

    if(16-term>0){
      Sleep(16-term);
    }

    fpsTimer = GetNowCount();

		if (!shooting.isValid()) break;		
		// Windows 特有の面倒な処理をDXライブラリにやらせる
    // -1 が返ってきたらループを抜ける
    if( ProcessMessage() < 0 ) break ;

    // もしESCキーが押されていたらループから抜ける
    if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break;
  }
}
コード例 #30
0
ファイル: GameManager.cpp プロジェクト: tapi-soft/poseine
//---------------------------------------------------------------------
int GameManager::start()
{
    if (init() != 0) { return -1; }

    while (1) {
        if (ProcessMessage() != 0) { return -1; }
        if (ClearDrawScreen() != 0) { return -1; }
        if (update() != 0) { return -1; }
    }
    return 0;
}