検索結果 32 件

by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: vectorの並び替え
返信数: 9
閲覧数: 4790

Re: vectorの並び替え

MessageBoxで確認した所無限に呼び出されてました・・・
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: vectorの並び替え
返信数: 9
閲覧数: 4790

Re: vectorの並び替え

クリア画面の時に一度しか呼んでないですね。
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: vectorの並び替え
返信数: 9
閲覧数: 4790

Re: vectorの並び替え

m_ranking.push_back(make_pair(cstr, S_time));を消すと
の間違いです。
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: vectorの並び替え
返信数: 9
閲覧数: 4790

Re: vectorの並び替え

ソートはがない場合だと
あいうえお,999,
あいうえお,998,
あいうえお,997,
あいうえお,996,
あいうえお,995,
と表示されました。
また文字列関係を全て消して動かしたら上書きされてしまい全部最新タイムのままでした。

AddRankingのadd("aaa", S_time)); を消すと
あいうえお,995,
あいうえお,996,
あいうえお,997,
あいうえお,998,
あいうえお,999,
と正常に動きました。

push.backが上手くいってないってことなのでしょうか?
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: vectorの並び替え
返信数: 9
閲覧数: 4790

vectorの並び替え

C++,Win32APIを使用しています。タイムランキングを作成しております。 pairのsecondだけをソートがしたいです。 ですがsortの第三引数をどう書けばいいか分かりません。 現在動かすと、最新タイムに全て上書きされてしまい。 1位 名前 30.0 2位 名前 30.0 ...と全部名前もタイムも上書きされてしまいます。 またタイムは小数点が切り捨てられ?30.5秒なのに30.0になってしまいます。 hファイル #pragma once #include <windows.h> #include <iostream> #include <fstream> #include <sst...
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: pairについて。
返信数: 8
閲覧数: 4223

Re: pairについて。

VC++を起動しなおしたら何故かできるようになってました。。。

コード:


if (ifs.fail()) {			//ランキングファイルが無かったら
		
		for (i = 0; i < 5; i++){
			m_ranking.push_back(make_pair("あいうえお", 999.0-i));
		}
	}

これで大丈夫でした。
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: pairについて。
返信数: 8
閲覧数: 4223

Re: pairについて。

みけcatさんので試したんですが、std::make_pairのインスタンスが引数リストと一致しないと言われたので、 m_ranking.push_back(std::make_pair<float, std::string>(999, "aaaaaa")); m_ranking.push_back(std::make_pair(999, "aaaaaa")); と書き直しました。 エラーを直したいのですが駄目なようでしたら新しく組み直します。 エラーですが ハンドルされない例外が 0x00B581E9 で発生しました。とでます。 vector内のこの部分でエラーがでます。 bool _Ins...
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: pairについて。
返信数: 8
閲覧数: 4223

Re: pairについて。

コード:


int num = 0;
	int i = 0;
	std::string str;
	std::ifstream ifs("ranking.txt");

	
	if (ifs.fail()) {
		m_ranking.clear();
		for (i = 0; i < 5; i++){
			m_ranking.push_back(std::make_pair(999, "aaaaaa"));
		}
	}

で試しましたが駄目でした
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: pairについて。
返信数: 8
閲覧数: 4223

pairについて。

C++,Win32APIを使用しております。 ランキングの最初の値を入れるとこでエラーが起きてしまいます m_ranking .first = 999; //ランキングの最初の値 m_ranking .second = "aaaaaa"; ここです。書き方が悪いんでしょうか? raning_name.h class Ranking_Name { private: typedef std::pair<float, std::string> str_pair; const int m_maxRanking; std::vector<std::string>data; std::vector<str...
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のウィンドウ生成について。
返信数: 2
閲覧数: 3146

Re: 複数のウィンドウ生成について。

見落としてました・・・ありがとうございます。
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: 複数のウィンドウ生成について。
返信数: 2
閲覧数: 3146

複数のウィンドウ生成について。

現在Win32API,C++で複数のウィンドウを表示させようと思ってますが上手くいきません。片方はゲーム用のウィンドウ、もう片方はEDITを使って名前を入力させるウィンドウにしようと思っています。 現在はウィンドウは表示されるが、名前入力のウィンドウのほうが上手く作動しません。 名前入力のプロシージャ関数が呼ばれないせいか、ゲーム用のウィンドウの動作になってしまっています。 TCHAR szClassName[] = TEXT("edit1"); // ウィンドウクラス。 TCHAR szClassName2[] = TEXT("edit2"); // ウィンドウクラス。 LRESULT CA...
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: タイムについて
返信数: 16
閲覧数: 8489

Re: タイムについて

今頃、すいません。タイム表示はすることができたんですが、秒数表示になってしまいます。 なのでfloatで表示しようとしたんですが、1.000000,2.000000・・・10.000000となってしまいます。1.1・・・1.2という風にしたいです。 Timer::Timer() { } void Timer::StartTimer(HDC hdc){ timewindows = GetTickCount(); return ; } void Timer::ShowTime(HDC hdc){ S_time = timewindows/100 - timestart/100; //windows...
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル読み込み
返信数: 3
閲覧数: 2260

Re: ファイル読み込み

すいません。解決しました。mainのロードとセーブを読み込むの位置を間違えてました
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル読み込み
返信数: 3
閲覧数: 2260

Re: ファイル読み込み

すいません上の文、修正します。
一回目のゲームクリアは正常に値が入ってます。30秒でクリアした場合
1位 30秒
2位 999秒
3位 999秒
ですがゲームを落として、もう一度クリアすると
1位 1秒
2位 0秒
3位 0秒
となってしまいます。
ゲームを落とさないでもう一度プレイをすると40秒でクリアした場合
1位 30秒
2位 40秒
3位 999秒
と正常に表示されます。
%*s%d%*sに変えてみましたが、最初にクリアした時でも
1位1秒
2位0秒
3位0秒
となってしまいました。
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル読み込み
返信数: 3
閲覧数: 2260

ファイル読み込み

win32API,C++を使用。タイムランキングを作成しております。 流れは現在 タイトル→ゲーム開始→ゲームクリア→タイムランキングの表示→タイトルとループになっています。 プログラムを落とさないでゲームを続けるとタイムランキングは正常に表示されるのですが、一旦プログラムを落として起動するとタイムランキングの値がおかしくなってしまいます。 1位が1秒 2位が0秒 3位が0秒 というふうになってしまいます。 Ranking_Load()をwinmainのウィンドウ生成時に呼び出し、 Ranking_saveはゲームクリア画面で呼び出しています。 Ranking.h #include <stdi...
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル書き込みについて
返信数: 9
閲覧数: 4458

Re: ファイル書き込みについて

改行できてました・・・。追加書き込みと追加読み込みがあったのですね。勉強不足でした。
waにするとDebug assetion failed!とでて
画像
のようになってしまいます。
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル書き込みについて
返信数: 9
閲覧数: 4458

Re: ファイル書き込みについて

コード:

void Ranking_save(int rankTime)
{
	FILE *fp;
	TCHAR mes[80];
	int i;

	if ((fp = fopen(FileName, "w")) == NULL)
	{
		wsprintf(mes, TEXT("データファイルのオープンに失敗しました。保存を中止しました。\n"));
		OutputDebugString(mes);
		return;
	}
		fprintf(fp, "%d\n", rankTime);
	fclose(fp);

}
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル書き込みについて
返信数: 9
閲覧数: 4458

Re: ファイル書き込みについて

最初はテキストモードでしたが、改行できないのでバイナリモードにしてみました。
変わらなかったのですが、テキストモードに戻すのを忘れてました。
改行されてないのを知ったのは実際にテキストを開いて確認しました。
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル書き込みについて
返信数: 9
閲覧数: 4458

ファイル書き込みについて

win32API,C++を使用しています 現在タイムランキングを作ってるのですが、タイムをテキストに書き込みする時にうまく改行されません。 どうしてでしょう。 void Ranking_save(int rankTime) { FILE *fp; TCHAR mes[80]; if ((fp = fopen(FileName, "wb")) == NULL) { wsprintf(mes, TEXT("データファイルのオープンに失敗しました。保存を中止しました。\n")); OutputDebugString(mes); return; } fprintf(fp, "%d\r\n", rank...
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: タイムについて
返信数: 16
閲覧数: 8489

Re: タイムについて

すいません。解決しました。ありがとうございます。 time.h #include<Windows.h> class Timer { DWORD timestart; //プログラム起動時の時間 DWORD timewindows; //windowsの起動からの時間 TCHAR time[1000]; public: Timer(); ~Timer(); int StartTimer(HDC hdc); int WindowsTimer(HDC hdc); int ShowTime(HDC hdc); }; Timer.cpp #include "timer.h" #include"debug...
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: タイムについて
返信数: 16
閲覧数: 8489

Re: タイムについて

time.h #include<Windows.h> class Timer { DWORD timeend; //タイム計測終了時間 DWORD timestart; //タイム開始時間 public: Timer(); ~Timer(); int MainTimer(HDC hdc); }; time.cpp #include "timer.h" #include"debugmsg.h" Timer::Timer() { } Timer::~Timer() { } int Timer::MainTimer(HDC hdc){ TCHAR time[1000]; timestart = Ge...
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: タイムについて
返信数: 16
閲覧数: 8489

Re: タイムについて

wsprint関数の書き方を直したら動くようになったのですが、タイムの値が7桁ぐらいになってしまいます。
どういうことなのでしょうか。
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: タイムについて
返信数: 16
閲覧数: 8489

Re: タイムについて

GetTickCountを使ったらエラーがでず出来ました。 ですが表示がうまくいきません。 Debug Error! run time check failure #3 というのを起こしてしまいます。 LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { // 画像を読み込む準備 HDC hdc; // デバイスコンテキストハンドル PAINTSTRUCT ps; // ペイント構造体 RECT rect; TCHAR max_max[8]; TCHAR time[8]; int a=20; ...
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: タイムについて
返信数: 16
閲覧数: 8489

Re: タイムについて

エラー 14 error LNK2019: 未解決の外部シンボル __imp__timeGetTime@0 が関数 _WinMain@16 で参照されました。 と出てきました。これはどうすればいいのでしょうか。 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASS wc; MSG msg; TCHAR buff[80]; DWORD gettime; // 取得した時間を格納 // ゲーム開始時間を取得し、表示 gettime = ti...
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: タイムについて
返信数: 16
閲覧数: 8489

Re: タイムについて

すいません、言い方間違えました。
プログラム起動した直後というかタイトル画面のスタート押してからをタイムをスタートしたいと思うのですが、それでもこの関数で平気でしょうか・
by luc
9年前
フォーラム: C言語何でも質問掲示板
トピック: タイムについて
返信数: 16
閲覧数: 8489

タイムについて

現在STGを作ってます。C++、VitualStudio2013を使って作成してます。
クリアタイムランキングを作ろうと思ってるんですがどのように作ればいいでしょうか。
まずはタイムの実装をしようと思うのですがプログラムが起動してからの経過時間の習得の方法がわかりません。
手も足もでないのでどなたかお願いします。どんな関数を使えばいいのか教えて下さい。
by luc
10年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでのランキング作成
返信数: 10
閲覧数: 5359

Re: Win32APIでのランキング作成

ランキング関数 file.cpp float Ranking_Load(void){ //ランキングを読み込む int i, j,tmp; ifstream fin("ranking1.txt"); if (!fin){ return 1; } float ranking[8]; for (i = 0; i < 8; i++){ //ファイル読み込み fin >> ranking[i]; } for (i = 0; i < 8; i++){ for (j = i + 1; j< 8; j++){ if (ranking[i] < ranking[j]){ //並び替え tmp = rankin...
by luc
10年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでのランキング作成
返信数: 10
閲覧数: 5359

Re: Win32APIでのランキング作成

最大値を表示することができました!ありがとうございます。
あとはこれをランキングにするのを頑張ります
by luc
10年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでのランキング作成
返信数: 10
閲覧数: 5359

Re: Win32APIでのランキング作成

///////ウインドウプロシージャ関数////////////////////////////////////////////////////////// LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { // 画像を読み込む準備 HDC hdc; // デバイスコンテキストハンドル PAINTSTRUCT ps; // ペイント構造体 RECT rect; // バックバッファ用コンテキストハンドルと、ビットマップハンドルの準備 static HDC hdc_back; // 裏画面...
by luc
10年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでのランキング作成
返信数: 10
閲覧数: 5359

Re: Win32APIでのランキング作成

いきなりランキングは難しいのでハイスコアから考えてみました。 とりあえずranking1.txtファイルを用意して読み込みをして描画を考えてみました。 ランキング関数 int Ranking_Load(void){ ifstream fin("ranking1.txt"); if (!fin){ return 1; } const int num = 8; int ranking[num]; for (int i = 0; i < num; i++){ //ファイル読み込み fin >> ranking[i]; } int max = ranking[0]; for (int j = 0; j...
by luc
10年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでのランキング作成
返信数: 10
閲覧数: 5359

Re: Win32APIでのランキング作成

初めての投稿で説明下手ですいません。 シューティングゲームは存在しています。 自キャラや背景はBitbltを使って描画などをしています。 int Paint_BG(HDC hdc) { HDC hdc_work; // デバイスコンテキストハンドルの習得 hdc_work = CreateCompatibleDC(hdc); //メモリデバイスコンテキストを作成 SelectObject(hdc_work, hb_all); // オブジェクトを選択 BitBlt(hdc, 0, 0, 400, 600, hdc_work, 0, 200, SRCCOPY); // 画像描画 DeleteDC...
by luc
10年前
フォーラム: C言語何でも質問掲示板
トピック: Win32APIでのランキング作成
返信数: 10
閲覧数: 5359

Win32APIでのランキング作成

て並び替え→クリア後にタイムランキングの表示としたいと思ってます。

詳細検索ページへ移動する