티스토리 뷰

반응형

로보코드란?


아래의 글은 DefineYou가 점심먹고 졸려서 미칠려고 할때 작성한 글이므로
신뢰도는 0% 라고 생각합니다.^^

작성일자 : 2007.2.9

-----------------------------------------------------------------------------------
package ckhyun;
내가 만든 로봇의 이름인 "ckhyun"이라는 로봇으로 패키지를 선언한다

import robocode.*;
로봇에 Robocode 객체를 사용할 것을 자바에 명령한다. 여기에서 robocode라는 놈이 이미 만들어져 있다. 로보코드 대전 동영상을 본 사람이라면 알것이다. 여기에서 import 시키는 robocode는 틀만 잡힌 껍데기라고 생각하자

//import java.awt.Color;

/**
 * DefineYou - a robot by (SuperReflash)
 */
그냥 주석으로 보이는 부분이다..신경쓰지 말자

public class DefineYou extends Robot
{
DefineYou 라는 로봇을 만들고 이 DefineYou는 Robot중에 하나임을 뜻한다. "extends"에
관한 것을 검색하면 알수 있다. 정말 모른다면 알려줄수는 있다.그냥 네이버에게 물어보세요.
 
/**
  * run: DefineYou'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);
색상 설정할수 있는 함수이다..지금은 그냥 로봇을 굴려보는데 충실해보자는 생각 pass

  while(true) {
   // Replace the next 4 lines with any behavior you would like
   ahead(100);
   turnGunRight(360);
   back(100);
   turnGunRight(360);
  }
 }
앞으로 100만큼 움직이고 총을 회전시키고 뒤로 100만큼 물러서서 다시 총을 회전하라는 부분이다. 턴수를 제한을 두는것같다. 로봇이 죽을때까지 앞뒤 포함하면 200번정도 움직일수 있다는 말인가? 실행해보지 않아서 모르겠다.역시나 robocode를 뜯어서 분석해야할려나보다

 /**
  * onScannedRobot: What to do when you see another robot
  */
 public void onScannedRobot(ScannedRobotEvent e) {
  fire(1);
 }

이부분이 로보코드의 묘미로 보일것같다...지금 당장 필자의 입장에서는 그렇게보인다...얼마나 적 로봇을 Scan를 잘하느냐가 중요한게 아닌가?! 적을 스캔하면...fire(1)을 실행하라이다..한방 날리라는 뜻으로 봐야될지...무한정 계속해서 총을 발사하라는 true인지..아직은 알수가 없다. 어쨌든 onScannedRobot 메소드에게 고맙게도 로봇에 대한 정보(이름, 수명기간, 현재 위치, 미래의 위치, 빠르기)를 알려줄 수 있는 이벤트도 함께 보내준다

 /**
  * onHitByBullet: What to do when you're hit by a bullet
  */
 public void onHitByBullet(HitByBulletEvent e) {
  turnLeft(90 - e.getBearing());
 }
내 로봇이 총을 맞았을때 에너지를 줄이는 부분같은데...저의 영어해석을 이해하시오...난 미국땅에서 태어난것도 아니고 한국 토종이고...지난 2006월드컵때 독일 가서 먹을거 다 사먹고 돌아다닐정도의 영어만 구사하니깐...ㅋ
 
}

어쨌든 여기까지 Robocode edit를 이용했다면 다음의 명령되로 실행해봐라.
ROBOCODE BATTLE 프로그램의 설명은 이 다음에 하겠다.UI간단하다. 일단 해보면 된다.
그리고 이 다음 글부터는...존댓말로 하겠다...태클 들어왔다..ㅋㅋ

우선 File-Save 메뉴를 선택하여 로봇을 저장합니다.
프롬프트에 따라 로봇을 저장합니다.
Compile-Compile 메뉴를 선택하여 컴파일합니다.
컴파일이 완료되면 로보코드 윈도우로 바꾸고 게임을 시작합니다.

반응형
댓글