미로찾기 알고리즘
삐삐가 있는곳이 출구로 가정된다.
단 삐삐는 미로의 출구(즉 미로의 외곽벽과 인접한 위치)에 있어야만 한다.

def such():
while not next_to_a_beeper():
if right_is_clear():
turn_right()
move()
else:
if front_is_clear():
move()
else:
turn_left()

소트 알고리즘
저번 소트 알고리즘을 한층 강화한 고속 소트알고리즘이다.
여러가지 환경에서 테스트를 수행하였으며, 문제가 있을경우 조현태페이지에 올려놓으면 빠른시일내에 해결하도록 노력하겠습니다.
파일을 copy/paste하는 과정에서 중간중간에 빈 줄이 생겼는데, 일부 삭제하였으나 남은 것이 있을 경우 지우고 사용해야 합니다.(단 함수와 함수사이는 아닙니다.)
소트 함수명은 sort()입니다.
리펙토링이 덜된 이유는 리펙토링을 하면 할수록 느려지는듯한 문제가(인터프리터방식으로 인한듯)있는듯 하기때문 입니다.


def sort_sub():
move()
if next_to_a_beeper():
pick_beeper()
turn_left()
turn_left()
while not next_to_a_beeper():
move()
turn_left()
turn_left()
move()
put_beeper()

def sort_sub_sub():
while front_is_clear():
move()
if next_to_a_beeper():
pick_beeper()
turn_left()
move()
turn_left()
while not next_to_a_beeper():
move()
while next_to_a_beeper():
if front_is_clear():
move()
else:
break
turn_left()
move()
if right_is_clear():
turn_left()
move()
else:
turn_left()
put_beeper()
break

def gaedan():
while next_to_a_beeper():
if front_is_clear():
move()
else:
break
while front_is_clear():
sort_sub()
turn_left()
turn_left()
while not next_to_a_beeper():
if front_is_clear():
move()
else:
turn_off()
while next_to_a_beeper():
if front_is_clear():
move()
else:
break
turn_left()
if front_is_clear():
move()
else:
turn_off()
if right_is_clear():
turn_left()
move()
else:
turn_left()
if not next_to_a_beeper():
sort_sub_sub()

def move_endof_sub():
move_wall()
turn_right()
move()
turn_right()
while not next_to_a_beeper():
move()
turn_right()
move()
turn_left()

def move_endof():
move_wall()
turn_left()
turn_left()
while not next_to_a_beeper():
move()

def sort():
while not next_to_a_beeper():
move()
while next_to_a_beeper():
if front_is_clear():
move()
else:
break
turn_left()
if right_is_clear():
turn_left()
move()
else:
turn_left()
move()
while 1:
gaedan()

def turn_right():
repeat(turn_left,3)

sort()

---
2개의 알고리즘이 저장되어 있는 코드파일 링크
Upload:test_dine_4.rur

Thread

  • 장하다~ 빠른걸 다시 만들었구나 ㅋ - 상협
---
데블스캠프2005/RUR-PLE
Retrieved from http://wiki.zeropage.org/wiki.php/데블스캠프2005/RUR_PLE/조현태
last modified 2021-02-07 05:28:59