문제를 풀기를 원한다면 여기로 아주 쉬운 문제다. 각 색깔의 발판에 맞추어 조건을 지정해주면 된다. 빨간색 발판의 공통점은 바로 오른쪽으로 꺾는 것. 초록색 발판은 계단 문제여서 꺾고, 직진하고, 꺾고, 직진하고를 반복하면 된다. 단, 계단은 꺾는 방향이 계속 반대로 나온다는 점을 참고하면 될 것이다. [22/50]
Robozzle
문제를 풀고싶다면 여기로. 새로운 타일이 등장한다. 바로 특정 색깔로 바꾸는 타일인데, 처음에는 매커니즘을 몰라서 많이 해맸다. 생각보다 문제가 쉽지 않은데, 발판 색을 언제 바꿀 것인지 결정하는 데 오래 걸렸다. [21/50]
문제를 풀어보고 싶다면 여기로 처음 부분만 빼면 굉장히 단순한 구조로 되어있다. 마지막 별에 도달할 때 까지 초록색 발판이면 꺾고, 파란색 발판이면 직진하면 되기에. 하지만 처음에 저 빨간색 발판의 별을 어떻게 먹을 것인지가 문제다. F1은 처음에 빨간색 별을 먹는 역할이다. 옆으로 한칸을 간 다음에 별을 먹고 방향을 꺾은 뒤 F2를 호출한다. F2 역시 처음 시작 부분을 빠져나오는 역할이다. F2가 끝나면 우주선은 다시 처음 시작했던 파란색 발판 위에 오르고 F3를 호출한다. F3는 직진하며 초록색 발판의 경우 꺾는 역할이다. 무한 반복. [20/50]
파란색 발판에서 반대 방향으로 시작하는데, 먼저 방향을 돌리고, 직진 시킨 뒤, 빨간 발판이 나오면 계단 이동을 해야한다. F1은 방향을 전환하는 역할만 한다. 처음 시작할 때 우주선?의 방향을 뒤로 돌린 뒤에 F2를 호출한다. F2는 이후의 모든 작업을 수행하는데, 우선 파란색 발판일 때는 직진만 한다. 이후 빨간색 발판에 도착하면 방향을 90도 꺾는다. 그 다음 한 칸을 직진할 것이고, 이후 초록색 발판에 도착하면 또 반대로 90도를 꺾는다. 그렇게 계속 반복. [19/50]
가운데 빨간색 발판을 시작으로 4 방향으로 별이 존재하는 맵이다. 직진과 방향 전환 만으로 풀 수 있다. F1은 초록색 발판이 나오면 F2를 실행하고, 빨간색 발판이 나오면 방향을 90도 전환한다. F2는 한 칸을 전진 한 뒤에 방향을 한 바퀴 돌려 다시 중앙을 향하게 한다.
한줄짜리 맵인데 함수가 5개나 있다. 결국 함수를 연달아 호출해야 하는 문제인 것 같음. 보기보다 어려웠다. F5를 쓰지 않아도 풀 수 있었다. F1는 방향을 틀고 F2를 호출하고, F2에서 빨간색 발판이면 F4, 빨간색 발판이 아니면 F3을 호출한다.
처음에 이 문제를 봤을 때는 굉장히 쉽게 풀 줄 알았다. 파란색 발판에서는 직진, 빨간색 발판일 때만 우회전을 하면 되니까. 엄청나게 단순하게 풀 줄 알았는데, 이게 답이 아니었다! 왜냐하면 처음 시작 지점 바로 뒤편에 별이 하나 있었기 때문이다. 결국은 처음 시작할 때 뒤로 돌아 별을 먹고 오던지, 아니면 쭉 가다가 초록색 지점에 도착하고 뒤로 돌아 가던지 선택해야 했다. 나는 처음 시작할 때 뒤로 돌아 별을 먹고 진행하는 방법을 선택했다. 깔끔한 정답은 아닐 거 같다는 생각이 든다. 하지만 그래도 풀었으니까.. ㅎㅎ 처음으로는 F1에서 뒤로 돌고 F3를 실행하고, F3는 별을 먹고 다시 뒤로 돈다. 그리고 F2 무한 반복.