ファイル1
#include "DxLib.h"
extern void WndGrpPri(double,double,double,double);
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ;//ウィンドウモードに変更する関数
if( DxLib_Init() == -1 ) return -1;//初期化処理する関数
WndGrpPri(50,50,100,100);
WaitKey() ;//何か入力があるまで待つ関数
DxLib_End() ;//終了処理をする関数
return 0 ;
}
ファイル2
#include "DxLib.h"
#define COLOR_MAX 255
#define COLOR_PLU 1
void WndGrpPri(double X,double Y,double H,double W){
H += X;
W += Y;
double P = ( W - X ) / COLOR_MAX / COLOR_PLU ;
int color,var,cnt;
for (cnt=0 ; cnt < COLOR_MAX ; cnt+=COLOR_PLU ){
if (cnt<=COLOR_PLU*2) {
X++;
Y++;
H--;
W--;
var = (cnt - 1) * (cnt - 1) * -10 + 200;
color = GetColor(var,var,var);
}else{
H -= P;
Y += P;
color = GetColor(0,0,COLOR_MAX-cnt);
}
DrawBox (X,Y,W,H,color,TRUE);
WaitKey(); // 動作を確認するために毎回停止
}
}
何故かフリーズしてしまいます。実行中に左下のバーの自動変数のところにcntが値が-858993460と出ています。
cntの値を直接変更しているのはfor文のパラメータのところだけなはずなのですが、何故こうなるのでしょうか?