Karel
(버전 사이의 차이)
(→설치) |
(→Karel 프로그램 작성법) |
||
8번째 줄: | 8번째 줄: | ||
== Karel 프로그램 작성법 == | == Karel 프로그램 작성법 == | ||
− | <code>main()</code> 메소드를 아래와 같이 작성한다. | + | === KarelOOP Version 1 === |
+ | KarelOOP.jar 라이브러리를 이용할 경우 <code>main()</code> 메소드를 아래와 같이 작성한다. | ||
<source lang="java"> | <source lang="java"> | ||
import stanford.karel.OopKarelProgram; | import stanford.karel.OopKarelProgram; | ||
public class SampleProgram extends 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()); | |
− | + | } | |
− | + | ||
} | } | ||
</source> | </source> | ||
40번째 줄: | 39번째 줄: | ||
이 Karel 객체를 프로그램에서 구하는 방법은 <code>SampleProgram</code>의 인스턴스 메소드(instance method)에서 | 이 Karel 객체를 프로그램에서 구하는 방법은 <code>SampleProgram</code>의 인스턴스 메소드(instance method)에서 | ||
<code>getKarel()</code> 메소드를 호출하면 된다. | <code>getKarel()</code> 메소드를 호출하면 된다. | ||
− | |||
== World 만들 때의 유의점 == | == World 만들 때의 유의점 == |
2020년 10월 20일 (화) 16:12 판
목차 |
설치
- 다음을 다운로드한다.
- 프로젝트에서 오른쪽 마우스 버튼을 눌러 Properties를 선택한다. 그리고 Java Build Path/Libraries 탭을 선택한다.
- Add External JARs 버튼을 눌러 다운로드 받은 두 개의 JAR 파일을 추가한다.
Karel 프로그램 작성법
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이다. 다운로드 받아서 사용하면 된다.