로보코드? 기본 개념부터 살짝 알아보자!

로그[log]/로보코드 2013. 3. 20. 00:48



파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
728x90
'

 

로보코드를 시작하기전

매우매우 기본적인 명령어부터 알아볼수 있게

정리가 잘되어있습니다

우선 숙지합시다!! ㅎㅎ

------------------------------------------------------------------

로보코드 기본 명령어



[로봇, 총, 레이더의 움직임]
ahead(double distance)와 back(double distance):
-지정된 픽셀 거리로 로봇을 이동시킨다.

turnRight(double degree)와 turnLeft(double degree):
-지정된 각도로 로봇을 돌린다.
turnGunRight(double degree)와 turnGunLeft(double degree):
-로봇의 방향과 상관 없이 총의 방향을 돌린다.
turnRadarRight(double degree)와 turnRadarLeft(double degree):
-총과 로봇의 방향에 상관없이 총 위의 레이더를 돌린다.
[로봇의 정보 얻기]
getX()와 getY() : 로봇의 현재 좌표를 보여 준다.
getHeading(), getGunHeading()과 getRadarHeading() :
-로봇, 총, 레이더의 현재 방향과 각도로 알려준다.

[전투 중 이벤트 발생시]
ScannedRobotEvent : 이 메소드는 레이더가 적 로봇을 스캔했을 때 호출된다.
HitByBulletEvent : 이 메소드는 내 로봇이 총알을 맞았을 때 호출된다.
HitRobotEvent : 이 메소드는 내 로봇이 적 로봇을 쏘았을 때 호출된다.
HitWallEvent : 이 메소드는 내 로봇이 벽과 충돌했을 때 호출된다

[기본정보 2]

-시간 단위 : tick (= frame = turn)
30 FPS (초당 30 Frame)
-거리 단위 : pixel
-시작 위치 (0, 0) : 좌측 하단

로봇의 움직임
-가속 a = 1 pixel/tick
-감속 a = 2 pixel/tick
-속도 v = a * t (Max 8)
-거리 d = v * t

로봇의 최대 회전율 = 10 – 0.75 * abs(v) degrees/tick

총의 최대 회전율 = 20 degrees/tick

레이더의 최대 회전율 = 45 degrees/tick

총알
-firepower : 0.1~3
-데미지 = 4 * firepower
-firepower 가 1 이상이면 2 * (firepower -1) 추가

총알 발사시 로봇의 에너지 소모 = firepower
총알 속도 = 20 – 3 * firepower
로봇의 움직이는 방향이나 속도는 총알의 속도에 영향을 주지 않는다.

총의 가열 (gunHeat) = 1 + firepower / 5
명중시 돌려받는 에너지 = 3 * firepower
상대와 충돌시 = 둘 다 -0.6
내가 충돌시 = + 1.2
벽과 충돌시 = abs(v) * 0.5 – 1
AdvancedRobot 이상


Constant

getBattleFieldHeight() // 전투장 높이
getBattleFieldWidth() // 전투장 너비
getGunCoolingRate() // 총이 식는 속도
getHeight() // 로봇의 높이
getWidth() // 로봇의 너비
getName() // 로봇의 이름
getNumRounds() // 몇 라운드

Variable

getEnergy() // 현재 로봇의 에너지
getGunHeat() // 총의 온도
getGunHeading() // 총의 방향의 각
getRadarHeading() // 레이더의 각
getHeading() // 로봇이 향하고 있는 방향의 각
getVelocity() // 로봇의 속도
getOthers() // 남은 상대방의 수
getRoundNum() // 몇 번째 라운드
getTime() // 게임진행 시간
getX() // 로봇의 X 좌표
getY() // 로봇의 Y 좌표

 

'

728x90