목차

이전 항목

2. 리보그 일기

다음 항목

4. 신문 배달 재방문

현재 문서

주의사항

해당 문서는 중요 변경 작업 중에 있습니다. 일부 문서에 텍스트가 빠져있거나, 불어로 플레이스홀더(placeholder) 자리차지만 되어 있을 수 있습니다.

3. 잠시 멈춰서 생각하기

오래 전에, 버그에 관해서 처음 언급할 때, 명령어 pause() 를 언급했다. 리보그가 pause() 명령어를 마주하면, 리보그가 멈춰서... 다음 이동을 하기 전에 사용자가 버튼을 클릭할 때까지 기다린다.

../_images/pause1.gif

사실, 함수 pause()선택옵션(optional) 인자를 받는데, 스스로 다음번 이동을 재시작하기 전, 리보그가 잠시 멈춰서 기다리는 시간을 천분의 1초로 표기한다.

../_images/pause2.gif

주석

밀리초(millisecond)는 천분의 1초다. 1000 밀치초는 1 초와 같음을 의미한다.

시도해 보기!

리보그가 다양한 방식으로 잠시 쉬었다가, 스스로 실행을 재시작하는 프로그램을 작성한다.

3.1. 생각하기(Think)

주석

리보그가 이동하고, 객체를 집고 등등의 행동을 하고, 화면에 갱신된 결과를 출력할 때, 뒤에서는 엄청난 일이 벌어지고 있다. 이 모든 작업이 즉시 일어날 수는 없지만, 보통 매우 빠르게 진행된다. think() 함수를 사용해서 추가적인 시간을 투입한다; 기본디폴트 설정으로, 추가 시간은 250 밀리초(즉, 4분의 1초)가 된다.

pause() 함수를 사용할 때를 제외하면, 지금까지 작성한 프로그램은 일정한 속도로 각 단계를 리보그가 실행했다. 이렇게 보면, 각 명령어를 실행하기 전에, 마치 리보그가 잠시 생각(think)하는 것처럼 보인다. 실제로, 리보그가 어떤 동작의 결과를 보이는데 (추가적인) 시간을 제어할 수 있다. 이런 제어를 수행하려면 think(ms) 함수를 사용하는데, ms 는 정수 인자로 리보그가 어떤 동작을 수행하는데 걸린 (추가적인) 시간을 천분의 1초로 나타낸다.

시도해 보기!

think(ms) 함수를 사용하는 프로그램을 작성한다. ms 값을 다르게 설정해서, 일부 프로그램은 정말 빠르게, 다른 프로그램 부분은 다소 느리게, 이런 방식을 통해 프로그램 각 부분에서 think(ms) 를 사용할 수 있다. 리보그를 최대한 빠르게 움직이게 하려면, think(0) 을 사용한다.