

Posted by EHXM. Posted in " 경험/IBM Campus Wizard "2009/11/28 02:50
이번 포스팅에서는 로보코드 대전을 위한 기본 로봇을 만들어 보겠습니다.
기본 로봇을 작성하기 전에 로보코드를 위한 환경설정이 되어 있어야 합니다.
[로보코드] 시작하기, 환경 설정 http://ehxm.tistory.com/63
로봇을 개발하는 방법은 로보코드의 Editor를 이용하는 방법과
이클립스를 통해 개발하는 방법이 있습니다.
자 그러면 여기에서는 로보코드의 Editor를 이용하여 로봇을 개발 해 보겠습니다.
로봇을 생성한 후의 기본 코드 입니다.
package ehxm;
import robocode.*;
//import java.awt.Color;
/**
* EHXMRobot - a robot by (your name here)
*/
public class EHXMRobot extends Robot
{
/**
* run: EHXMRobot's default behavior
*/
public void run() {
// After trying out your robot, try uncommenting the import at the top,
// and the next line:
//setColors(Color.red,Color.blue,Color.green);
while(true) {
// Replace the next 4 lines with any behavior you would like
ahead(100);
turnGunRight(360);
back(100);
turnGunRight(360);
}
}
/**
* onScannedRobot: What to do when you see another robot
*/
public void onScannedRobot(ScannedRobotEvent e) {
fire(1);
}
/**
* onHitByBullet: What to do when you're hit by a bullet
*/
public void onHitByBullet(HitByBulletEvent e) {
turnLeft(90 - e.getBearing());
}
}
위에서 작성된 로봇은 Robot Class를 상속받고 있으므로, run(), onScannedRobot(), onHitByBullet()에 대해서는
robocode document에서 Robot 부분을 확인 해 보시면 됩니다.
http://robocode.sourceforge.net/docs/robocode/
간단히 설명해서 로봇이 실행되면 run()의 메소드가 수행되고,
수행중에 적의 로봇을 발견하거나 적의 총을 맞았다면 onScannedRobot(), onHitByBullet() 메소드가 수행됩니다.
여기서는 경기가 시작되면 앞뒤로 움직이는 것을 반복하고, 적을 발견했을때는 무조건 총을 한번 쏘는 간단한 로봇입니다.
작성한 기본 로봇을 한번 대전시켜 보겠습니다.
Selected Robots 리스트에 sample의 Walls로봇과 EHXMRobot이 추가되면
[StartBattle]을 선택하여 대전을 시작합니다.
여러분의 커뮤니케이션을 기다리고 있습니다.

아이디어의 전쟁의 현장이었던 2010년 대한민국 매쉬업 경진대회에 다녀왔습니다. 이번 대회는 지난 2월 6일(토요일), 삼성동 코엑스 컨퍼런스룸 401에서 열렸습니다. 이번.....
2010년에 100가지가 넘는 안드로이드 폰 출시가 될 예정입니다. Mobile World Congress keynote에서 Google CEO Eric Schmidt의 연설.....
서울, 안양, 부산, 대구, 광주, 대전에 안드로이드 폰 체험 할 수 있는 곳이 있네요. 저는 코엑스 메가박스 입구에 있는 모토로라 체험 부스에서 우연히 모토로이를 만져보게 되.....
위 3D 갤러리는 http://www.fotoviewr.com/ 사이트의 Fotoviewr 입니다. Flex와 Papervision3D를 이용하여 위와같은 3D 갤러리를 구현해.....
Total : 115,868 Today : 224 Yesterday : 155