定義の矛盾なのかはわかりませんが、現在以下のようにしています。
sp.h-------------------------
//構造体
//プレイヤーに関する構造体
typedef struct{
double x,y;
int status,counter;
int shot[11][15];
int hp,mp,maxhp,maxmp;
}BODY_player_t;
extern BODY_player_t Player;
typedef struct{
double x,y,angle;
int flag,atari;
}SHOT_T;
extern SHOT_T PlayerShot[PLAYER_MAX_SHOT1][PLAYER_MAX_SHOT2];
//敵に関する構造体
typedef struct{
double x,y;
int flag,counter,maxhp,hp,pattern;
}BODY_enemy_t;
extern BODY_enemy_t enemy;
//敵の弾に関する構造体A
typedef struct{
int flag,spead;
double x,y;
}ENEMY_SHOTS_t;
//敵の弾に関する構造体B
typedef struct{
int flag,pattern,counter,img;
double mem_ex , mem_ey , mem_px , mem_py , Angle[ENEMY_TOTAL_SHOT_NUM]; //200
ENEMY_SHOTS_t EnemyShots[ENEMY_TOTAL_SHOT_NUM][TOTAL_SHOT_KND]; //200
}ENEMY_SHOT_t;
extern ENEMY_SHOT_t EnemyShot;
-----------------------------
これをすべての.cppにインクルードし、
1.cpp------------------------
BODY_player_t Player;
BODY_enemy_t enemy;
SHOT_T PlayerShot[PLAYER_MAX_SHOT1][PLAYER_MAX_SHOT2];
ENEMY_SHOTS_t EnemyShots[ENEMY_TOTAL_SHOT_NUM];
ENEMY_SHOT_t EnemyShot;
-----------------------------
としています。
sp.hで、DxLib.hをインクルードし、
仕様している.cppのすべてにsp.hをインクルードしている状態です。
感想を述べますと、ちょっと構造体の使用方法が異なったため「おや?」と思いましたが、今まで問題なく動作していたのでこのまま作業していました。
ですがもしかしたら、水面下で問題が起きていたのにもかかわらず表面にでていなかった、そしてそれが今回表面上にでた、というものなのでしょうか。
もしこれらの開示情報で読み取れる問題点などあれば指摘下さい。
他に、開示して欲しい情報があれば記していただくと助かります。