カウントダウンの実装について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
名も無い者
記事: 10
登録日時: 11年前

カウントダウンの実装について

#1

投稿記事 by 名も無い者 » 11年前

前回は皆様に大変迷惑をおかけして申し訳ありませんでした、名も無い者です。
今回は、以前私が投稿したトピック(http://dixq.net/forum/viewtopic.php?f=3&t=13195)で制作していたゲームに、「DXライブラリ置場質問掲示板」から見つけてきたカウントダウンをするコードを組み込みたいのですが、うまくいかなかったため皆様にご意見を伺いたいと思い、新しくトピックを投稿しました。
よろしくお願いします。

以下見つけてきたコードです

コード:

 
#include "DxLib.h"

int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
{
	ChangeWindowMode( TRUE );
	if ( DxLib_Init( ) == -1 ) return -1;

	int timediff;
	LONGLONG timelimit = GetNowHiPerformanceCount() + 120000000;

	SetDrawScreen( DX_SCREEN_BACK );
	while ( ProcessMessage( ) == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ) {
		timediff = int(timelimit - GetNowHiPerformanceCount());
		ClearDrawScreen( );
		DrawFormatString( 5, 5, GetColor( 255 , 255 , 255) ,"%02d'%02d'%d%d", timediff/60000000 , (timediff%60000000)/1000000 , ((timediff%60000000)%1000000)/100000 , (((timediff%60000000)%1000000)%100000)/10000 );
		ScreenFlip( );
	}
	DxLib_End( );
	return 0;
}

 
 

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: カウントダウンの実装について

#2

投稿記事 by softya(ソフト屋) » 11年前

その、うまく行かなかったコードを提示してもらえまでしょうか?
あるいは、このコードの何処が分からないか聞いて頂けますか?
今のままだと質問に成っていないので、どう答えて良いのか不明なのです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

名も無い者
記事: 10
登録日時: 11年前

softya(ソフト屋)さんへ

#3

投稿記事 by 名も無い者 » 11年前

>その、うまく行かなかったコードを提示してもらえまでしょうか?
言葉が足りなかったようですいません。
で、前回私が投降したトピックの、超絶右留斗羅天才プログラマーさんによる15番目の返信に書かれていたコードに今回見つけたコードを組み込もうとしてうまくいかなかったのです。

超絶右留斗羅天才プログラマー
記事: 44
登録日時: 11年前

Re: カウントダウンの実装について

#4

投稿記事 by 超絶右留斗羅天才プログラマー » 11年前

ゲームループに入る前の行で、

コード:

int timediff;
LONGLONG timelimit = GetNowHiPerformanceCount() + 120000000;
を追加し、ScreenFlip();の前の行で

コード:

timediff = int(timelimit - GetNowHiPerformanceCount());
DrawFormatString( 5, 5, GetColor(255,255,255), "%02d'%02d'%d%d", timediff/60000000 , (timediff%60000000)/1000000 , ((timediff%60000000)%1000000)/100000 , (((timediff%60000000)%1000000)%100000)/10000 );
を追加することでカウントダウンが表示されます。

余談ですが、120000000というのは、2*60*1000000で2分を表しています。
カウントダウンを10秒にしたい場合は、
10*1000000=10000000を設定するといいですよ(*´▽`*)
ただの超絶右留斗羅天才プログラマーです。同人ゲーム制作進捗度:7%

名も無い者
記事: 10
登録日時: 11年前

Re: カウントダウンの実装について

#5

投稿記事 by 名も無い者 » 11年前

無事解決いたしました!
超絶右留斗羅天才プログラマーさん、softya(ソフト屋)さん、ありがとうございました!!

閉鎖

“C言語何でも質問掲示板” へ戻る