>>376
  while(CheckHitKey(KEY_INPUT_SPACE)==0){
    battle();
    WaitKey();
  }

  ScreenFlip();
  WaitKey();
  DxLib_End();
  return 0;
}

これだとProcessMessageで-1引いてもループ抜けられないような気がする。
whileの条件式にProcessMessageの判定加えたらいいんでは。
あと抜けた後のWaitKeyは、強制終了後も参照されてしまうのでやめたほうがいい。