➍ 어항의 물은 계속 증발하다가 물 높이가 0이 되면 더 이상 줄어들지 못하겠죠. 물 높이가 음수일 수는 없으니까요. 따라서 arrayFish[i]의 값이 0보다 작으면 arrayFish[i]의 값을 0으로 저장하고 다음 어항으로 넘어갑니다.
➎ 함수를 정의하고 나면 main()함수에서 호출합니다. 이때 최근 경과 시간인 prevElapsedTime 변수를 전달합니다.
7.4 프로젝트.c
(생략)
void decreaseWater(long elapsedTime); ------- ➊ 어항의 물을 증발(감소)시키는 함수 선언
int main(void) {
(중략)
while (1) {
(중략)
prevElapsedTime = totalElapsedTime - prevElapsedTime;
printf("최근 경과 시간 : %ld초\n", prevElapsedTime);
decreaseWater(prevElapsedTime); ----- ➎ 어항의 물을 증발(감소)시키는 함수 호출
}
return 0;
}
(중략)
void decreaseWater(long elapsedTime) { ------ ➋ 어항의 물을 증발(감소)시키는 함수 정의
for (int i = 0; i < 6; i++) { // 어항 6개 반복 수행
arrayFish[i] -= (level * 3 * (int)elapsedTime); ---- ➌ 증발하는 물의 양 계산
if (arrayFish[i] < 0) { ---------------------------- ➍ 물 높이가 0 미만이면 물 높이는 0으로 고정
arrayFish[i] = 0;
}
}
}