Karel - 4번


기능 정리

  1. 오른쪽으로 한 칸 갔을때 count +1 해주기
  2. 왼쪽으로 올 때 count 값에 반만큼 가기

코드

import stanford.karel.*;

public class MidpointFindingKarel extends SuperKarel {

	// You fill in this part
	// 몇 칸 이동했는지 알기 위해서 count 변수 설정
	int count;
	
	public void run() {
		// 0으로 초기화
		count = 0;
		
		while(true) {
			// 앞이 막혀 있으면 while문 빠져 나오기
			if(frontIsBlocked()) {
				turnAround();
				break;
			}
			// 막혀 있지 않으면 움직이고 count를 +1 해준다.
			move();
			count++;
		}
		
		// 그리고 지금까지 움직인 거리의 1/2 만큼 움직이면 딱 반을 오게 된다.
		for(int i=0; i < count/2 ; i++) {
			move();
		}
		
		putBeeper();
	}


}

느낀점

move를 할 때마다 +1을 해주고 돌아올 때는 그 반만큼 돌아오면 된다. 어렵지않았다.

좋은 웹페이지 즐겨찾기