dxライブラリ 円周するコードの実装に困っています。(改良)
提示コード最下部の if(angle >= 360)の部分なのですが書いててなんか違うなうな気がしたのですがやっぱり実装が間違て幼稚なコードになっている指摘を受けたので自分の力で修正を試みたのですが自分には実装がこれ以外おもいつかず質問してしました。
回答と解説お願いできますでしょうか。
#include "DxLib.h"
#include "math.h"
#include <string>
#define PI 3.14159265359
using namespace std;
char key[256];
//キー入力関数
int KeyBord_Get(int keycode)
{
char tmpkey[256];
GetHitKeyStateAll(tmpkey);
for (int i = 0; i < 256; i++)
{
if (tmpkey[i] != 0)
{
key[i]++;
}
else
{
key[i] = 0;
}
}
return key[keycode];
}
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
ChangeWindowMode(TRUE);
if (DxLib_Init() == -1) { return -1; }
int Color = GetColor(255,255,255);
int gh = LoadGraph("resources/Player.png");
int x = -200;
int y = -200;
int angle = 0;
int r = 30;
float t = PI / 180 * 4;
float a = cos(PI / 180 * 45);
float b = cos(45);
while (ClearDrawScreen() == 0 && SetDrawScreen(DX_SCREEN_BACK) == 0 && ProcessMessage() == 0)
{
//x = cos(PI / 180 * angle) * r + 200;
//y = sin(PI / 180 * angle) * r + 200;
x = cos(PI / 180 * angle) * r + 200;
y = sin(PI / 180 * angle) * r + 200;
angle += 4;
//Sleep(200);
//DrawFormatString(0,50,Color," a %lf",a);
//DrawFormatString(0, 65, Color, " b %lf", b);
//DrawFormatString(10, 35, Color, "%d", angle);
DrawFormatString(0,0,Color,"x: %d,Y: %d",x,y);
DrawGraph(x,y,gh,true);
if (angle >= 360)
{
angle = 1;
}
ScreenFlip();
if (CheckHitKey(KEY_INPUT_ESCAPE) == 1) { break; }
}
return 0;
}