얼음 나라
햄스터 로봇이 펭귄 친구를 만나러 얼음 나라에 갔습니다.
얼음 나라는 길이 얼음으로 되어 있어서 너무 미끄럽습니다.
길 위에서는 방향을 바꿀 수 없어요.
벽이 나타날 때까지 계속 앞으로 미끄러져 이동하다가 벽을 잡고 방향을 바꾸어야 합니다.
아래 그림에서 햄스터 로봇이 펭귄 앞까지 이동하려면 어떻게 움직여야 할지 생각해 봅시다.
도착 지점으로 이동한 후에는 펭귄 친구와 얘기할 수 있도록 햄스터 로봇이 펭귄 방향을 바라보아야 합니다.
햄스터 로봇이 아직 너무 어려서 그림으로 그려진 벽은 알 수가 없으니 말판 위에 벽을 세워 놓아야 합니다.
그림의 손과 방향을 맞추어 손을 올려놓도록 합시다.
import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;
Hamster hamster;
void setup() {
hamster = Hamster.create(this);
}
void draw() {
}
boolean canMoveForward() {
return hamster.leftProximity() < 40 && hamster.rightProximity() < 40;
}
void run() {
while(canMoveForward()) {
hamster.boardForward();
}
hamster.boardLeft();
}
두 번째 펭귄 친구도 찾아 봅시다.
import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;
Hamster hamster;
void setup() {
hamster = Hamster.create(this);
}
void draw() {
}
boolean canMoveForward() {
return hamster.leftProximity() < 40 && hamster.rightProximity() < 40;
}
void run() {
for(int i = 0; i < 2; ++i) {
while(canMoveForward()) {
hamster.boardForward();
}
hamster.boardLeft();
}
}
세 번째 펭귄 친구도 찾아 봅시다.
import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;
Hamster hamster;
void setup() {
hamster = Hamster.create(this);
}
void draw() {
}
boolean canMoveForward() {
return hamster.leftProximity() < 40 && hamster.rightProximity() < 40;
}
void run() {
for(int i = 0; i < 4; ++i) {
while(canMoveForward()) {
hamster.boardForward();
}
hamster.boardRight();
}
}
네 번째 펭귄 친구도 찾아 봅시다.
import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;
Hamster hamster;
void setup() {
hamster = Hamster.create(this);
}
void draw() {
}
boolean canMoveForward() {
return hamster.leftProximity() < 40 && hamster.rightProximity() < 40;
}
void run() {
while(canMoveForward()) {
hamster.boardForward();
}
hamster.boardRight();
hamster.boardRight();
for(int i = 0; i < 2; ++i) {
while(canMoveForward()) {
hamster.boardForward();
}
hamster.boardRight();
}
}
목차
수업 자료 내려 받기
- 원본 그림 2017.01.16 버전 (34.7 MB)
햄스터 고급
- 행위 기반의 로봇 제어
- 경로 탐색
- 자리 바꾸기
Copyright 로봇SW교육원 All rights reserved.
어려운 일이 있으면 광운대학교 로봇학부 박광현 교수(
akaii@kw.ac.kr)에게 연락하세요.