Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇...

16
로보코드 만들기 한국 IBM developerWorks 운영팀

Transcript of Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇...

Page 1: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

로보코드 만들기

한국 IBM developerWorks 운영팀

Page 2: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

1. 로보코드 설치방법 1) 먼저 PC 에 Java 를 설치한다. (JDK v1.4 이상을 권장)

2) 로보코드 사이트(www.ibm.com/developerworks/kr/robocode)를 방문하여 로보코드 설치 파일

(robocode-setup.zip)을 다운로드 받는다.

3) 윈도우 커맨드 창을 실행시킨 후 로보코드 설치파일을 다운로드 받은 디렉토리로 이동한다.

4) 커맨트 창에서 “java –jar robocode-setup.zip” 을 실행하여 로보코드를 설치한다.

5) [Accept] 버튼을 선택한다.

6) 로보코드 설치 경로를 선택한 후 다음 물음에 [예] 버튼을 선택하면 설치 완료!

Page 3: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

2. 로봇 작성 방법 1) 바탕 화면에서 ‘로보코드 아이콘’을 더블 클릭하여 로보코드 전투장을 실행 시킨다.

2) 전투장에서 <Robot> <Editor> 를 선택한다.

Page 4: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

3) ‘로봇 에디터’ 가 실행되면 <File> <New> <Robot> 을 선택하여 로봇을 만들 준비를 한다.

3) 팝업 창이 뜨면 작성할 로봇의 이름을 입력한 후 ‘확인’ 버튼을 클릭한다.

(예 : SuperRobot)

Page 5: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

4) 패키지명을 입력한 후 ‘확인’ 버튼을 클릭한다.

(작성하는 로봇의 이름이 다른 로봇들의 이름과 중복되는 것을 막기 위해 입력하며, 자신의 이름 이

니셜 또는 아무 문자열이라도 입력가능)

5) 로봇의 기본 소스 코드들이 화면상에 나타나게 되며, 여기에 자신이 생각하는 로직의 소스 코드를

추가한다.

Page 6: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

6) 소스코드 추가 작업 완료 후 작업한 내용을 저장 하기 위해 <File> <Save> 를 선택한다.

7) 소스코드 저장 시 디렉토리를 만들겠냐는 물음에 ‘예’를 클릭한다.

Page 7: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

8) 처음에 입력한 로봇의 이름(SuperRobot.java)이 맞는 지 확인 한 후 ‘저장’ 을 클릭한다.

9) 작성한 로봇 소스를 실행 가능한 파일로 만들기 위해 <Compiler> <Compile> 를 선택한다.

Page 8: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

10) 컴파일이 이상 없이 완료되면 로봇 작성완료!

Page 9: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

3. 로봇 대전 방법 1) 전투장에서 <Battle> <New> 를 선택한다.

2) 로봇 선택창에서 자신이 만든 로봇(SuperRobot)을 찾아 본다.

Page 10: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

3) 자신의 로봇과 다른 샘플 로봇들을 <Add> 버튼을 클릭하여 선택한다.

4) ‘Star Battle’ 버튼을 클릭하여 대전을 시작 시킨다.

Page 11: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

5) 지정된 라운드(기본값 : 10)의 대전이 종료되면 각 로봇들의 점수 현황이 나타나며, 가장 높은 점수

를 얻은 로봇이 승리!

Page 12: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

4. 로봇 제출 방법 1) 전투장에서 < Robot > < Package robot for upload > 를 선택한다.

2) 로봇 선택창에서 자신이 만든 로봇(dw.SuperRobot)을 선택한 후 [Add ] 버튼 및 [Next] 버튼을 누

른다.

Page 13: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

3) 입력 항목 중에 [Include source] 는 체크, [Version] 란에는 적절한 로봇 버전을 기입한 후 [short

description] 을 간단하게 입력한다.

4) 입력이 다 되었으면 [Next] 버튼을 선택한다.

5) C:\robocode\robots 디렉토리 밑에 dw.SuperRobot_1.3.jar 파일이름으로 작성한 로봇을 Export 시킬

것이므로 바로 [Next] 버튼을 선택한다.

Page 14: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

6) 설정한 사항들이 이상 없을 을 확인한 후 [Package !] 버튼을 선택한다.

7) C:\robocode\robots 디렉토리로 이동하여 작성된 dw.SuperRobot_1.3.jar 파일을 확인한 후

[email protected] 에 제출한다.

Page 15: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

5. 샘플 소스 코드 분석 다음은 로보코드의 샘플 소스코드 입니다.

위 로봇은 전진/후진을 반복 하면서 총을 회전시켜 적을 공격하는 로직을 가지고 있습니다.

각각의 코드가 의미 하는 바는 다음과 같습니다.

package dw;

import robocode.*;

import java.awt.Color;

public class SuperRobot extends Robot

{

public void run() {

setColors(Color.red,Color.blue,Color.green);

while(true) {

ahead(100);

turnGunRight(360);

back(100);

turnGunLeft(360);

}

}

public void onScannedRobot(ScannedRobotEvent e) {

fire(1);

}

public void onHitByBullet(HitByBulletEvent e) {

turnLeft(90 - e.getBearing());

}

}

package dw; // 로봇이 포함되어 있는 패키지 이름

import robocode.*; // 로보코드에서 제공되는 기능을 사용할수 있도록 지정

import java.awt.Color; // Color 를 사용 할 수 있도록 지정

Page 16: Robocode 만들기 2 - Egloospds5.egloos.com/pds/200708/29/00/robocode.pdf · 3) ‘로봇 에디터’ 가 실행되면  Æ  Æ  을 선택하여

보다 자세한 사항은 로보코드 홈페이지(http://www.ibm.com/developerworks/kr/robocode) 및 로보코드 전투장의

‘Help’ 기능을 이용하여 주시기 바랍니다.

public class SuperRobot extends Robot //SuperRobot 이라는 이름의 Robot 을 선언

{

/**

* run: 로봇이 실행되면 기본적으로 호출되는 로직

*/

public void run() {

setColors(Color.red,Color.blue,Color.green); // 로봇의 색상을 지정

while(true) {

ahead(100); // 로봇을 100 Pixel 만큼 전진

turnGunRight(360); // 총을 오른쪽으로 한 바퀴 회전

back(100); // 로봇을 100 Pixel 만틈 후진

turnGunLeft(360); // 총을 왼쪽으로 한 바퀴 회전

}

}

/**

* onScannedRobot: 적을 발견 했을 때 수행 되는 로직

*/

public void onScannedRobot(ScannedRobotEvent e) {

fire(1); // 파워 수치 1 로 총알을 발사

}

/*

* onHitByBullet: 적의 총알에 맞았을 때 수행되는 로직

*/

public void onHitByBullet(HitByBulletEvent e) {

turnLeft(90 - e.getBearing()); // (90도 - 총알이 날아온 각도) 만큼 회전

}

}