작성
·
266
0
디버깅하면서 봤을떄
int의 한도치가 넘어가서 생기는 오류라고 생각해서
저는 int를 long long 으로 바꿔주었는데
그렇게되면 메모리가 커지다 보니 좋지 않은 방법이겠지요?
답변 2
1
int64를 해도 되긴 하지만
그러면 나머지 hp와 관련된 코드도 다 고쳐야 하고,
기획적인 의도와도 물려 있을테니 확인이 필요하겠죠.
if (_hp <= maxhp) _hp = maxhp;
이쪽은 부호가 거꾸로 된 것 같은데
아무튼 코드 스타일은 본인 취향대로 하시면 됩니다.
0
void Knight::AddHp(int value)
{
//int의 한계치를 벗어나 음수가되니
//체력에 한계치를 설정해주고 넘어가면 한계치로 남게하고
//음수가 되면 0이되게 보정해주자
_hp += value;
int maxhp = 10000000;
if (_hp <= maxhp)
_hp = maxhp;
if (_hp <= 0)
_hp = 0;
}
이렇게 코드를 써봤는데 괜찮나요??