• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

비교연산과 논리연산 질문있습니다.

24.05.09 19:47 작성 24.05.09 20:13 수정 조회수 77

0

16:42 에서 헷갈리는것이 있습니다.

test가 "죽었는가?(IsDead)"라는 의미의 변수일때,

처음에 'isInvincible' 을 'true', 즉 값 1로 설정하였으로, 'isInvincible == false' 이것이 '무적이냐? == 아니다' 로 해석될 때, 사망에 적합한 조건(무적아님)으로 해석이 되므로 그 결과가 1이 나와야 하지만, '1(isInvincible)==0(false)' => '0' 이 되어서 무적이 아님에도 불구하고 사망의 조건('1')에 부합하지 않는다는 해석이 되어버리는데 혹시 제가 잘못 이해하고 있는지 궁금합니다.

제 생각에는 isInvincible 변수를 처음에 초기화할때 '0'으로 둔다면 해석으로 보았을떄 정상적으로 작동하지 않을까 싶은데 솔직히 머리도 아프고 잘 모르겠습니다. 제가 잘못 이해하고 있는걸까요?

 

 

 

답변 1

답변을 작성해보세요.

0

질문이 잘 이해가 안 갑니다.

'1(isInvincible)==0(false)' => '0' 이 되어서 무적이 아님에도 불구하고 사망의 조건('1')에 부합하지 않는다는 해석이 되어버리는데 혹시 제가 잘못 이해하고 있는지 궁금합니다.

잘 이해하셨습니다.
isInvincible 이 true라면, 무적 상태인 것이니
조건상 isDead = (hp <= 0 && isInvincible == false)는 false가 뜨겠죠.

말 그대로, 무적이기 때문에 죽지 않은 것으로 판별하는 예시입니다.