Karel
(→Karel 프로그램 작성법) |
(→Karel 프로그램 작성법) |
||
8번째 줄: | 8번째 줄: | ||
== Karel 프로그램 작성법 == | == Karel 프로그램 작성법 == | ||
+ | === KarelOOP Version 2 === | ||
+ | KarelOOP2.jar 라이브러리를 이용할 경우 <code>main()</code> 메소드를 아래와 같이 작성한다. | ||
+ | |||
+ | |||
=== KarelOOP Version 1 === | === KarelOOP Version 1 === | ||
KarelOOP.jar 라이브러리를 이용할 경우 <code>main()</code> 메소드를 아래와 같이 작성한다. | KarelOOP.jar 라이브러리를 이용할 경우 <code>main()</code> 메소드를 아래와 같이 작성한다. |
2020년 10월 20일 (화) 16:15 판
목차 |
설치
- 다음을 다운로드한다.
- 프로젝트에서 오른쪽 마우스 버튼을 눌러 Properties를 선택한다. 그리고 Java Build Path/Libraries 탭을 선택한다.
- Add External JARs 버튼을 눌러 다운로드 받은 두 개의 JAR 파일을 추가한다.
Karel 프로그램 작성법
KarelOOP Version 2
KarelOOP2.jar 라이브러리를 이용할 경우 main()
메소드를 아래와 같이 작성한다.
KarelOOP Version 1
KarelOOP.jar 라이브러리를 이용할 경우 main()
메소드를 아래와 같이 작성한다.
import stanford.karel.OopKarelProgram; public class SampleProgram extends OopKarelProgram { @Override public void run() { Karel karel = getKarel(); karel.move(); karel.turnLeft(); } public static void main(String[] args) { OopKarelProgram.main(args, new Karel()); } }
이 프로그램을 실행하면 아래와 같은 World가 등장한다.
여기서 Start Program 버튼을 클릭하면 프로그램의 run()
메소드가 실행된다.
OopKarelProgram.main()
메소드의 두 번째 인자에는 동작할 Karel 객체를 설정한다. 이 객체가 위 그림에
있는 Karel 객체이다.
이 Karel 객체를 프로그램에서 구하는 방법은 SampleProgram
의 인스턴스 메소드(instance method)에서
getKarel()
메소드를 호출하면 된다.
World 만들 때의 유의점
World는 원하는 형태대로 만들 수 있다. 이것은 Edit World 버튼을 눌러 World를 수정한다. 이때 World의 이름을 시작하는 클래스와 동일하게 하면, 프로그램의 시작과 동시에 해당 World가 등장한다. 예를 들어 어떤 World의 이름을 SampleProgram.w 로 저장하였다면 위 프로그램을 실행하자마자 SampleProgram.w가 뜨게 된다.
Karel의 확장
제시된 Karel이 마음에 안들면 새로운 Karel 클래스를 작성하면 된다. 예를 들어 벽까지 전진하는 Karel을 만들어보자. 이것은 SuperKarel
를 계승하여 만들도록 한다.
public class MyKarel extends SuperKarel { public void moveToWall() { while(frontIsClear()) move(); } }
그런 다음 이 MyKarel
을 이용하는 프로그램을 작성하면 다음과 같다.
import stanford.karel.OopKarelProgram; public class AnotherProgram extends OopKarelProgram { @Override public void run() { MyKarel karel = (MyKarel)getKarel(); karel.moveToWall(); } public static void main(String[] args) { OopKarelProgram.main(args, new MyKarel()); } }
Karel's World
다음은 미리 만들어놓은 World이다. 다운로드 받아서 사용하면 된다.