작성
·
170
·
수정됨
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가 뜨겠죠.
말 그대로, 무적이기 때문에 죽지 않은 것으로 판별하는 예시입니다.