if (knitr:::is_latex_output()) {
::asis_output('\\url{....}')
knitrelse {
} ::include_graphics("fig/Rain_01.gif")
knitr }
6 비바람 창문 닫기
6.1 창문 닫기 1
- 문제 바로가기
- 선행 지식
- 기본 함수 :
move()
,turn_left()
,build_wall()
- 기본 함수 :
- 난이도: 1
- 참고: 러플 - 비가 와요
6.1.1 실행결과
6.1.2 코드
turn_around():
def turn_left()
turn_left()
close_window():
def repeat 6:
move()
build_wall()
go_to_home():
def turn_around()
repeat 5:
move()
close_window()
go_to_home()
6.2 창문 닫기 2
- 문제 바로가기
- 선행 지식
- 기본 함수 :
move()
,turn_left()
,build_wall()
- 테스트 조건:
right_is_clear()
,wall_on_right()
,at_goal()
- 반복 및 제어:
while
루프,if
문
- 기본 함수 :
- 난이도: 5
- 참고: 러플 - 비가 와요
6.2.1 실행결과
if (knitr:::is_latex_output()) {
::asis_output('\\url{....}')
knitrelse {
} ::include_graphics("fig/Rain_02.gif")
knitr }
6.2.2 코드
turn_right():
def turn_left()
turn_left()
turn_left()
move_to_goal():
def move()
turn_right()
move_to_goal()
move()
while not at_goal():
if front_is_clear():
move()
if wall_in_front():
turn_left()
if right_is_clear():
turn_right()
build_wall()
turn_left()
6.3 창문 닫기 3
- 문제 바로가기
- 선행 지식
- 기본 함수 :
move()
,turn_left()
,build_wall()
- 테스트 조건:
right_is_clear()
,wall_on_right()
,at_goal()
- 반복 및 제어:
while
루프,if
문
- 기본 함수 :
- 힌트: 우회전할지 창문을 닫을지 리보그를 한번더 이동시키면 2가지 경우가 존재한다.
- 난이도: 8
- 참고: 러플 - 비가 와요
6.3.1 실행결과
if (knitr:::is_latex_output()) {
::asis_output('\\url{....}')
knitrelse {
} ::include_graphics("fig/Rain_03.gif")
knitr }
6.3.2 코드
turn_right():
def turn_left()
turn_left()
turn_left()
move_to_goal():
def repeat 3:
move()
turn_right()
move_to_goal()
move()
go_back():
def turn_left()
turn_left()
move()
turn_left()
turn_left()
close_window():
def turn_right()
build_wall()
turn_left()
while not at_goal():
if wall_in_front():
turn_left()
if front_is_clear() and right_is_clear():
move()
if right_is_clear():
go_back()
turn_right()
right_is_clear():
elif not go_back()
close_window()
move()