ExceptionProgram (KarelOOP2)
Retired DISLab
/* * Copyright 2020 Sangwon Park @ DISLab, HUFS * * 이것은 ErrorException을 처리하는 코드 예제이다. * 기본적으로 만들어진 캐럴은 (1, 1) 좌표에 동쪽으로 향해있다. * 두 번째 만든 캐럴은 (2, 1)에 서쪽으로 향해있다. * 두 번째 캐럴을 앞으로 전진시키면 두 캐럴이 부딪혀 예외가 발생한다. * 이 예외를 받아서 바닥에 붉은 피를 흘리고 뒤로 튕겨져 나오는 예제이다. */ package cp.java.week11.exception; import acm.util.ErrorException; import hufs.dislab.karel.IKarel; import hufs.dislab.karel.IKarelProgram; import hufs.dislab.karel.SimpleKarel; @SuppressWarnings("serial") public class ExceptionProgram extends IKarelProgram { IKarel karel; @Override protected void onInit() { karel = new SimpleKarel(); addIKarel(karel, 2, 1, WEST, 0); } @Override protected void onStart() { try { karel.move(); } catch (ErrorException e) { karel.paintCorner(RED); karel.turnAround(); karel.move(); } } public static void main(String[] args) { IKarelProgram.main(args, new SimpleKarel()); } }