ページ 11

DXライブラリ、GetRandについて

Posted: 2018年1月15日(月) 18:10
by LEMO
DXライブラリを使い、基本的な数あてゲームを作りたいと思っています
そして、問題の数字をGetRand関数で取得したいです
とりあえずコンパイルはできているのですが、表示される数字が毎回0になっています
GetRandの使い方が違うのか、DrawStringFormatの使い方が違うのか、
何が原因なのかがわかりません。

Q1
このプログラムはちゃんとランダムに生成できているのか
Q2
数あてゲームを作っていく上で気をつけたほうが良いことなど、「ここ変えたほうが良いよ」などのアドバイスをできれば.....!

解答お待ちしています

コード:

#include "DxLib.h"
#include "stdio.h"


int target = GetRand(10);
int Green = GetColor(0, 255, 0);

int count = 1;

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	// DXライブラリ初期化
	if (DxLib_Init() == -1) return 0;
	ChangeWindowMode(TRUE);
	DrawString(0, 0, "数あてゲーム\n", Green );
	DrawFormatString(0, 48, Green,"今回生成された数%dはです", target );

	WaitKey();

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

	return 0;
}

Re: DXライブラリ、GetRandについて

Posted: 2018年1月15日(月) 22:19
by LEMO
自己解決しました
int WINAPI~~の中でGetRandをしたらランダムに数を取得できました
お騒がせしました

Re: DXライブラリ、GetRandについて

Posted: 2018年1月16日(火) 00:25
by Dixq (管理人)
GetColorの場所もそこではだめです。
設定系以外のDXライブラリの関数はDxLib_Init()の後に呼ぶ決まりになっています。
画面の色Bitが変わるとGetColorで取得した値の色も変わる可能性があります。