DecorateFloor (KarelOOP2)
Retired DISLab
package cp.java.week4; import hufs.dislab.karel.IKarel; import hufs.dislab.karel.IKarelProgram; import hufs.dislab.karel.SimpleKarel; @SuppressWarnings("serial") public class DecorateFloor extends IKarelProgram { public void onStart() { IKarel karel = getIKarel(); while (true) { karel.paintCorner(RED); if (!(move(karel) && move(karel))) break; } System.out.println("DONE!!"); } boolean move(IKarel karel) { if (karel.frontIsClear()) { karel.move(); } else { if (karel.facingEast()) { karel.turnLeft(); if (!karel.frontIsClear()) return false; karel.move(); karel.turnLeft(); } else { karel.turnRight(); if (!karel.frontIsClear()) return false; karel.move(); karel.turnRight(); } } return true; } public static void main(String[] args) { IKarelProgram.main(args, new SimpleKarel()); } }