http://www.robozzle.com/beta/index.html
RoboZZle - a social puzzle game
www.robozzle.com
위 링크를 클릭하면 로보즐 사이트로 이동합니다. 간단한 알고리즘들을 생각해볼 수 있는 문제들이 가득합니다.
여기서는 가장 기초인 튜토리얼 1단계부터 4단계까지 다뤄보겠습니다. :)
위에서 Part 1을 클릭해서 튜토리얼을 시작합니다.
튜토리얼 1단계
종이 비행기를 출발시켜서 별을 모두 먹으면 성공입니다.
1단계는 F1이라는 칸 안에 방향키를 순서대로 주욱 넣으면 끝입니다.
따로 더 할게 없지요 아직은.
튜토리얼 2단계
2단계부터는 F2가 등장합니다. 함수가 하나 더 등장한거예요.
사실 F1도 함수입니다.
그러니 지금 F1, F2 이렇게 2개의 함수가 마련되었습니다.
반복할 행동, 즉 2칸 직진을 F2에 담고
F1에서는 2칸 직진이 필요할 때 F2를 불러옵니다. 굿.
튜토리얼 3단계
앞으로 한칸씩만 계속 가면 되는 문제입니다.
'한칸 앞으로'를 추가하고, F1을 반복하도록 합니다. 그럼 계속 앞으로 가겠죠. 미션 클리어~!
튜토리얼 4단계
드디어 색상을 써먹을 때가 왔습니다. 여기서 저는 실수를 했는데,
(1) 빨간색일 때는 앞으로 쭉쭉 가다가, (2)파란색을 만나면 방향을 틀도록 해보겠습니다. 그리고 이걸 계속 반복시키려고 마지막에 (3)F1을 넣었습니다.
그러니 아래와 같이 문제가 발생했습니다.
파란색에서 빙글빙글 도느라 갇혀버렸습니다. 오른쪽 아래의 STEP을 보면, '현재 블럭이 파란색이면 우회전하라'인데 우회전 하고도 계속 파란색 블럭에 머물러있으니 또 우회전하고 또 우회전하고... 무한히 돌아가네요.
문제는 '현재 블럭이 빨간색이면 직진하라'는 세팅이 원인이었습니다.
이 코드에서는 빨간색이어야만 직진이 가능한 것이었습니다.
빨간블럭이어서 아무생각없이 빨간색일때 직진하라고 짰더니, 파란색에서 우회전 후, 현재 블럭이 빨간색이 아니니까 직진을 못한겁니다. 우회전 하고도 여전히 파란색이니 계속계속 파란색 코드를 실행하는 겁니다.
그래서 변경해야겠습니다.
앞서의 흐름에서는
마지막 이미지처럼 '색상없이 직진' 블럭을 넣으면 무조건 한칸 앞으로 직진합니다.
그럼 파란색블럭에서 우회전 후, 현재 무슨 색 블럭에 있건 상관없이 한칸 앞으로 직진하기 때문에, 파란색 무한 루프에서 벗어납니다.
실수에서 배우기 위해 기록으로 남깁니다. :)
'인간은 어떻게 배울까' 카테고리의 다른 글
[js] 함수 표현식과 함수 선언, 호이스팅 (0) | 2023.06.19 |
---|---|
[논리력] 로보즐-Right on red (0) | 2023.06.19 |
[macOS] VS코드에서 한글 깨짐 현상 해결! (1) | 2023.06.19 |
[JS] var와 let의 차이 (2) | 2023.06.09 |
[HTML/CSS] Transform , Transition, Animation (0) | 2023.06.07 |