if (knitr:::is_latex_output()) {
::asis_output('\\url{....}')
knitrelse {
} ::include_graphics("fig/Token_01.gif")
knitr }
5 토큰
5.1 토큰 이동 1
- 문제 바로가기
- 선행 지식
- 기본 함수 :
move()
,put()
,take()
- 기본 함수 :
- 난이도: 1
5.1.1 실행결과
5.1.2 코드
move()
take()
move()
put() move()
5.2 토큰 이동 2
- 문제 바로가기
- 선행 지식
- 기본 함수 :
move()
,put()
,take()
- 기본 함수 :
- 난이도: 1
move_until_done()
함수를 제작해서if
문을 사용하게 되면 조금더 깔끔하게 목적을 달성할 수 있다.
5.2.1 실행결과
if (knitr:::is_latex_output()) {
::asis_output('\\url{....}')
knitrelse {
} ::include_graphics("fig/Token_02.gif")
knitr }
5.2.2 코드
def move_until_done():
move()if object_here():
take()
move()
put()
5:
repeat move_until_done()
5.3 토큰 이동 3
- 문제 바로가기
- 선행 지식
- 기본 함수 :
move()
,put()
,take()
- 테스트 조건:
object_here()
,at_goal()
- 반복과 제어조건:
while
루프와 부정(negation)
- 기본 함수 :
- 난이도: 3
5.3.1 실행결과
if (knitr:::is_latex_output()) {
::asis_output('\\url{....}')
knitrelse {
} ::include_graphics("fig/Token_03.gif")
knitr }
5.3.2 코드
def move_until_done():
move()if object_here():
take()
move()
put()
while not at_goal():
move_until_done()
5.4 토큰 이동 4
- 문제 바로가기
- 선행 지식
- 기본 함수 :
move()
,put()
,take()
- 테스트 조건:
object_here()
,carries_object()
,at_goal()
- 반복과 제어조건:
while
루프,if
문과 부정(negation)
- 기본 함수 :
- 난이도: 5
5.4.1 실행결과
if (knitr:::is_latex_output()) {
::asis_output('\\url{....}')
knitrelse {
} ::include_graphics("fig/Token_04.gif")
knitr }
5.4.2 코드
def collect_all():
if object_here():
take()
move()
def put_down_all_and_move():
while carries_object():
put()
move()
while not at_goal():
if object_here():
collect_all()elif carries_object():
put_down_all_and_move() else:
move()
5.5 토큰 이동 5
토큰 이동 5를 일반화하여 토큰이 있는 곳과 그렇지 않는 곳도 리보그가 이동하여 목적을 달성할 수 있도록 한다.
- 문제 바로가기
- 선행 지식
- 기본 함수 :
move()
,put()
,take()
- 테스트 조건:
object_here()
,carries_object()
,at_goal()
- 반복과 제어조건:
while
루프,if
문과 부정(negation)
- 기본 함수 :
- 난이도: 5
5.5.1 실행결과
if (knitr:::is_latex_output()) {
::asis_output('\\url{....}')
knitrelse {
} ::include_graphics("fig/Token_05.gif")
knitr }
5.5.2 코드
def collect_all():
if object_here():
take()
move()
def put_down_all_and_move():
while carries_object():
put()
move()
while not at_goal():
if object_here():
collect_all()elif carries_object():
put_down_all_and_move() else:
move()