레이블이 RoboCode인 게시물을 표시합니다. 모든 게시물 표시
레이블이 RoboCode인 게시물을 표시합니다. 모든 게시물 표시

프로그래밍 게임 RoboCode

# 홈페이지 http://robocode.sourceforge.net/
# Robocode 는 내가 프로그래밍한 알고리즘이 게임에 반영되서 플레이가되는 프로그래밍 게임이다.
# Java 나 .Net 용 언어를 사용할 수 있으며 게임은 탱크를 컨트롤 하는 것이다.
# 대학교 초급 프로그래밍/알고리즘 등 과목에서 활용되면 좋을 듯 ㅎㅎ

# Java 해보기
# 설치하기 참고 http://robowiki.net/wiki/Robocode_Download_And_Install
# 기본적으로 C:\robocode 에 설치된다.
java -jar robocode-1.8.1.0-setup.jar

# 자체 에디터도 있지만 별로 좋지 않아서 eclipse 를 사용하도록 한다.
# eclipse 에 프로젝트에 lib 추가
# eclipse 프로젝트 properties -> Java Build Path -> Libraries -> Add External JARS -> C:\robocode\libs\robocode.jar

# robocode api 문서 http://robocode.sourceforge.net/docs/robocode/
# sample 소스를 참고해도 좋다.

////////////////
// ysoftman
// Robocode 테스트
////////////////
import java.awt.Color;
import robocode.*;

public class ysoftmanRobocode extends Robot
{
  public void run()
  {
    setBodyColor(Color.blue); // 탱크 색상
    setGunColor(Color.red); // 대포 색상
    setBulletColor(Color.red); // 대포알 색상

    while (true)
    {
      turnGunRight(360); // 대포 오른쪽으로 360도 회전
    }
  }
  // 적을 발견되면
  public void onScannedRobot(ScannedRobotEvent e)
  {
    // 거리가 짧으면 강하게 발사
    if (e.getDistance() < 20)
    {
      fire(3);
    }
    else
    {
      fire(1);
    }
  }
  // 우리가 포를 맞으면
  public void onHitByBullet(HitByBulletEvent e)
  {
    turnLeft(90); // 탱크 왼쪽 90도로 꺽기
    ahead(100); // 탱크 전진
  }
}

# 다음의 간단한 코드를 만들고 빌드하여 .class 만들고 C:\robocode\robots\ 에 위치시키거나
# 메뉴 Options -> Preferences -> Development -> Add -> .class 위치 를 추가한다.

# c:\robocode\robocode.bat 실행
# 메뉴 Battle -> New -> 자신이 만든 탱크와 상대편 탱크(샘플) 추가 -> Start Battle 로 시작한다.

스샷~