RepairPillar (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 RepairPillar extends IKarelProgram {
	public void onStart() {
		IKarel karel = getIKarel();
 
		repairPillar(karel);
		while (karel.frontIsClear()) {
			moveToNextPillar(karel);
			repairPillar(karel);
		}
	}
 
	void repairPillar(IKarel karel) {
		karel.turnLeft();
		if (!karel.beepersPresent())
			karel.putBeeper();
		while (karel.frontIsClear()) {
			karel.move();
			if (!karel.beepersPresent())
				karel.putBeeper();
		}
		karel.turnAround();
		moveToWall(karel);
		karel.turnLeft();
	}
 
	void moveToWall(IKarel karel) {
		while (karel.frontIsClear())
			karel.move();
	}
 
	void moveToNextPillar(IKarel karel) {
		for (int i = 0; i < 4; i++)
			karel.move();
	}
 
	public static void main(String[] args) {
		IKarelProgram.main(args, new SimpleKarel());
	}
}
개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기