FindCenter (KarelOOP2)

Retired DISLab
Swpark (토론 | 기여) 사용자의 2020년 10월 20일 (화) 17:50 버전
(비교) ← 이전 판 | 현재 판 (비교) | 다음 판 → (비교)
이동: 둘러보기, 찾기
package cp.java.week4;
 
import hufs.dislab.karel.IKarel;
import hufs.dislab.karel.IKarelProgram;
import hufs.dislab.karel.SimpleKarel;
 
@SuppressWarnings("serial")
public class FindCenter extends IKarelProgram {
	public void onStart() {
		IKarel karel = getIKarel();
 
		int width = measureWidth(karel);
		move(karel, width / 2);
		karel.paintCorner(RED);
	}
 
	int measureWidth(IKarel karel) {
		int len = 1;
 
		while (karel.frontIsClear()) {
			karel.move();
			len++;
		}
		karel.turnAround();
		moveToWall(karel);
		karel.turnAround();
 
		return len;
	}
 
	void move(IKarel karel, int step) {
		for (int i = 0; i < step; i++)
			karel.move();
	}
 
	void moveToWall(IKarel karel) {
		while (karel.frontIsClear())
			karel.move();
	}
 
	public static void main(String[] args) {
		IKarelProgram.main(args, new SimpleKarel());
	}
}
개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기