더북(TheBook)

추가로 어항에 직전에 물을 준 시간 이후로 흐른 시간, 즉 물을 준 시간 간격을 계산합니다. 예를 들어, 10초일 때 어항에 물을 주고 13초일 때 다시 물을 줬다면 13초에서 10초를 뺀 3초의 시간이 흐른 것입니다. 시간 간격을 계산하는 이유는 그 사이 물이 얼마나 증발했는지 알기 위해서입니다. 사용자 입력이 10초마다 한 번씩 있다면 10초 동안 증발한 물의 양을 계산해서 물 높이를 낮춰야 하기 때문입니다. 이를 위해 prevElapsedTime이라는 이름으로 변수를 하나 선언합니다. 이 변수도 시간을 저장하므로 long형으로 선언하고 0으로 초기화합니다.

물을 준 시간 간격은 총 경과 시간에서 직전에 물을 준 시간을 빼면 알 수 있습니다. 직전에 물을 준 시간은 뒤에 나오지만, prevElapsedTime 변수에 저장합니다. 따라서 totalElapsedTime 변수의 값에서 prevElapsedTime 변수의 값을 빼면 되고, 이 값을 다시 prevElapsedTime 변수에 저장합니다.

그림 7-13 prevElapsedTime 변수의 역할

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.