構造体で作った変数の中に値を代入したいのですが、値が全く入ってくれません。
以下にその部分のソースを書きます。
#include "DxLib.h"
#include <math.h>
#define KBMAX 20
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 ) return -1;
typedef struct{
int flag;
double kabux,kabuy,Angle,mem_kx,mem_ky;
} kbface;
typedef struct{
int flag,counter,img;
kbface kbgao[KBMAX];
} kbfaces;
kbfaces kbgaos;
for(int i=0;i<KBMAX;i++){
kbgaos.kbgao.flag=0;
kbgaos.kbgao.kabux=0;
kbgaos.kbgao.kabuy=0;
}
SetDrawScreen( DX_SCREEN_BACK ) ;
int White = GetColor( 255 , 255 ,255 ) ;
int bbb;
for(bbb=0;bbb<25;bbb++){
for(int j=0;j<KBMAX;j++){
if(kbgaos.kbgao[j].flag==0){
kbgaos.kbgao[j].flag=1;
kbgaos.kbgao[j].kabux=104;
kbgaos.kbgao[j].kabuy=250;
ClearDrawScreen();
for(int f=0;f<KBMAX;f++){
DrawFormatString(500,20*f, White , " %d" ,kbgaos.kbgao[f].flag);
DrawFormatString(300,20*f, White , " %d" ,kbgaos.kbgao[f].kabux);
DrawFormatString(400,20*f, White , " %d" ,kbgaos.kbgao[f].kabuy);
}
WaitKey() ;
ScreenFlip() ;
break;
}
}
}
WaitKey() ;
DxLib_End() ;
return 0 ;
}flagの方には値が入っているのに、
kbgaos.kbgao[j].kabuxの方には代入されてくれません。
最終的にこの中にランダムな値を入れたいのですが、それも入ってくれないために
試しに定数を代入させてみたのですがそれでも入ってくれません。
doubleで決めた値なので整数じゃだめなのかと思い、小数を入れてみましたが
今度は変な値がでてきてしまいます。
(double)をつけても駄目でした。
なぜkbgaos.kbgao[j].kabuxには値が入らないのでしょうか。
僕にはどこか根本的な知識が抜けているのでしょうか。
そして、どうすれば値が入るのでしょうか。
教えてください。
WindowsXpでVC++ 2008EEを使ってコンパイルしています。
C言語に関しては、初心者です。