로보코드 (Robocode) 한국 IBM developerWorks

Slides:



Advertisements
Similar presentations
채소야 놀자 : 브로콜리.  겨자과에 속하는 짙은 녹색채소로 ‘ 녹색 꽃양 배추 ’ 라고도 불립니다.  샐러드, 스프, 스튜 등 서양음식에 가장 많이 사용하는 채소 중 하나입니다.  구입 시, 송이가 단단하면서 가운데가 볼록 하게 솟아올라 있고 줄기를 잘라낸 단면이.
Advertisements

Chap02 자바환경과 자바 프로그램 Section 1 : 자바 개발 환경 Section 2 : 자바 통합 환경 Section 3 : 자바 응용 프로그램과 애플릿 프로그램 Section 4 : 자바 응용 프로그램 Section 5 : 자바 애플릿 프로그램.
1 일시 : 2015 년 5 월 24 일 조사한 사람 : 강수연, 신예 솔 자료정리 : 김규민, 이지훈 발표자 : 2 모둠 2.
10장. 시기별 학급경영 11조 염지수 이 슬 권용민 신해식.
일본 근세사. (1) 에도막부의 개창 ( ㄱ ) 세키가하라의 전투 (1600) - 히데요시의 사후 다섯 명의 다이로 ( 大老 ) 가운데 최대 영지 (250 만석 ) 를 보유하고 있던 도쿠가와 이에야스가 급부상. 이에 이에야스와 반목해 온 이시다 미쓰나리 ( 石田三成 ),
 도덕  3 학년 1 학기  개인의 가치와 도덕 문제  도덕 문제와 도덕 판단  도덕적 갈등 상황 [1~2/6] 도덕적 갈등 상황.
아니마 / 아니무스 송문주 조아라. 아니마 아니마란 ? 남성의 마음속에 있는 여성적 심리 경향이 인격화 한 것. 막연한 느낌이나 기분, 예견적인 육감, 비합리적인 것에 대 한 감수성, 개인적인 사랑의 능력, 자연에 대한 감정, 그리.
대구가톨릭대학교 체육교육과 06 학번 영안중학교 체육교사 신웅섭 반갑습니다. 반야월초등학교 축구부 대륜중학교 축구부 대륜고등학교 대구가톨릭대학교 차석 입학 대구가톨릭대학교 수석 졸업 2014 년 경북중등임용 체육 차석 합격 영안중학교 체육교사 근무 소개.
교수님 영상 제 2 장 관세법 일반 제 1 절 통칙 제 2 절 법 해석의 원칙 등 제 3 절 기한과 기간 제 4 절 서류의 송달 등 제 5 절 관세의 부과 및 징수 제 6 절 납세의무의 소멸 등.
일장 - 1 일 24 시간 중의 명기 ( 낮 ) 의 길이 ( 밤은 암기, 낮은 명기 ) 광주기성 - 하루 중 낮의 길이의 장단에 따라 식물의 꽃눈 형성이 달라지는 현상 일장이 식물의 개화현상을 조절하는 중요한 요인 단일식물 - 단일조건에서 개화가 촉진되는 식물 장일식물.
2 학년 6 반 1 조 고은수 구성현 권오제 김강서.  해당 언어에 본디부터 있던 말이나 그것에 기초하여 새로 만들어진 말  어떤 고장 고유의 독특한 말  Ex) 아버지, 어머니, 하늘, 땅.
음란물에 대하여. 인터넷 음란물의 의미 돈벌이를 위해 단지 성적 욕망을 불러 일으키기 위한 음란한 인터넷 상의 사 진, 동영상, 만화 등을 말한다.
아이핑 소개 (탁구대회) 아이핑 담당 신동일 네이버(다음)에서 아이핑검색 아이핑 소개 (탁구대회) 담당 신동일 아이핑.
나를 지키고, 침착하게 대처하려면, 반드시 익혀야 하는
2014년도 교원 및 기간제교사 성과상여금 전달교육 개 회 국기에 대한 경례 - 인사말
서비스운영관리(SOM) 강의안내 경영학부 서비스 사이언스 연구회 경영학부 서비스경영학 연구회.
선진 고양교육 “유아교육 행정 업무 연수” 유치원 회계실무 및 유아학비 연수 경기도고양교육청.
1. 던전 디자인 개요_1 1. ‘던전’ 룬스톤은 던전 한 층에도 여러 개가 존재하며, 각 룬스톤 마다 영향을 미치는 범위가 설정되어 있다. 룬스톤이 영향을 주는 범위에 일정시간 사용자가 위치해 있게 되면 사용자 캐릭터는 ‘유령화’ 되어 버리기 때문에, 사용자는.
묵자 겸애, 비명, 비공, 상현, 상동, 천지, 명귀, 삼표 법.
1. PC 에서 회원가입 1. 회원가입 버튼 클릭 클릭.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
내 아이를 위한 구강관리.
제16장 원무통계 • 분석 ☞ 통계란 특정의 사실을 일정한 기준에 의하여 숫자로 표시한 것을 말한다.통계로서 활용할 수 있는 조건으로는 ① 동질성을 지녀야 하고 ② 기준이 명확하고 ③ 계속성이 지속되어야 하며 ④ 숫자로 표시하여야 한다 경영실적의.
통합연구사업지원 정산 사용자 설명서 (기관사용자).
로그인 로그인을 하시기 전에 상단 엑티브엑스 프로그램을 실행 후 로그인을 해주시기 바랍니다.
서울지방세무사회 부가세 교육 사진클릭-자료 다운 세무사 김재우.
치매의 예방 김 은민 윤금 노인요양원 치매의.
7. 자극과 반응 7-2. 신경계 3. 여러 가지 반응.
광학 계산식 App 개발 및 제작 : SW Team.
마산에 대하여 만든이 : 2204 김신우, 2202 권성헌.
초등학생이 pc방을 가도 되는가? 등마 초등학교 5학년 4반 김근아.
[ 도면뷰잉 관련 인터넷 옵션 설정 확인 및 변경 ]
업무역량강화를 위한 문서작성법 대통령보고서(청와대 비서실의 보고서 작성법) 정리.
전자세금계산서 이용 매뉴얼 1.
개발시점의 게임시장분석.
1. 하나투어 프로모션 페이지 수정사항 정리 – 리오타노 이태리 세미극세사 차렵이불_그레이
대한민국 No1. 고속열차 KTX 강릉선 광고매체 제안서.
삼성전자 모바일 이러닝 학습 매뉴얼.
글로벌한국사 2강 - 고조선과 단군할아버지- 신화 속 역사 읽기.
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
한국 IBM developerWorks 로보코드(Robocode) 한국 IBM developerWorks
■ 화성공장 산학인턴 버스 노선 확인 안내 문의 전화 : 안내페이지 접속 1
2d game pRogramming 1차 발표 이재남.
통합연구사업지원 정산 사용자 설명서 (연구책임자).
비밀번호 관련 안내 사용자 매뉴얼 위치 목 차 I II III IE11 및 이전 버전 설정 DIPS 사용자매뉴얼
북한 이탈 주민 실태와 문제점 Part 0 탈북자 인권 현대 사회 인권 조선해양 공학부 정세용
100% 회비 환급 받는 방법!.
전사적 위험관리를 위한 비용절감 방안.
판촉왕 공식인증센터_PC
6장 마케팅 조사 박소현, 김중호, 박기찬.
한밭대학교 창업경영대학원 회계정보학과 장 광 식
게임엔진 프로젝트 발표 상어 사냥 안 정 웅.
직장생활 예절 ① - 인사 1.내가 먼저 [인사의 5point] 2.상대방의 눈을 보고 미소지으며 3.상대방에 맞춰서
음양오행과 물리학 조 원 : 김용훈, 양범길, 박수진, 윤진희, 이경남, 박미옥, 박지선 (11조)
(제작자: 임현수)모둠:임현수,유시연,유한민
이야기 치료에 대하여 <8조 학문적 글쓰기 발표> 주희록 최은지
1.세무회계사무소에서 수임처로부터 통장내용(엑셀)을 등으로 받아 Super Book에 반영하는 방법
성전기공식(안) 식 순 1. 기공미사 2. 기 공 식 3. 축 하 연 천주교 수원교구 퇴촌성당.
2013 2학기 세미나 카메라 애니메이션.
조사 설계안 개인용 미디어의 고객만족도와 이용실태조사 조.
자료구조 강의소개 정성훈 연락처 : 이메일 : 연구실 : 연219호 연락처 : 이메일 : 홈페이지: 정성훈.
100세 시대, 스마트 헬스케어와 미래직업 (3) 고령화 사회에 필요한 웨어러블.
1% 공부장학금 받는 방법.
코 칭 결 과 센 터 구성센터 (모바일) 코칭대상 프로 (엔지니어) 코칭일시
1. 하나투어 프로모션 페이지 수정사항 정리 – 인따르시아 여행용 파우치 5p (핑크)
1. 하나투어 프로모션 페이지 수정사항 정리 – [트래블이지] 비비드접이식가방 NO.1278
코딩교육, 어떻게 해야 할까 이천양정여자고등학교 김가연 안선영.
1-1) 하나투어 매니저 기획전 배너 삽입 ◀ SKT 데이터 로밍 쿠폰 배너 삽입 여행사를 위한 ,
중국문학개론 한부와 겅건안문학 중어중국학과 ㅇ이진원 한부와 건안문학.
Presentation transcript:

로보코드 (Robocode) 한국 IBM developerWorks

로보코드 (Robocode) 란 ? 로보코드란 ? –IBM alphaWorks 에서 개발한 Java 와 Game 을 접목시킨 프로그래밍 게임 – 로봇 개발자는 자신이 만든 로봇이 이기도록 하기 위해 로봇의 기능을 향상 시키면서 Java Skill 또한 향상됨 – 재미와 기술을 동시에 얻을 수 있는 기회를 제공해 주어 초보자도 쉽게 Java 를 배울 수 있음 로보코드 창시자 : Mat Nelson "Robocode 를 개발한 동기 중 일부는 ' 자 바는 느리다 ', ' 자바로는 게임을 작성할 수 없다 ' 와 같은 말이 더 이상 진실이 아니라 는 것을 세상에 입증하는 것이었다. 나는 목적을 달성했다고 생각한다." 25 년 게임을 해오면서 게임을 잘하는 방법을 배우기 위해 수많은 시간을 투자했습니다. 매뉴 얼을 읽고, 도움말 항목을 보고 게임 레퍼런스 도 꼼꼼히 살피고 웹에서 힌트와 팁을 검색했습 니다. 물론 다른 게임과 마찬가지로 여러분들도 로보코드 때문에 그런 일을 하게 될 것입니다. 하지만 큰 차이가 있습니다. 매뉴얼이 자바라는 것입니다. 그리고 레퍼런스는 Javadoc 이고, 도움말 메뉴는 자바 튜토리얼이 될 것입니다. 로보코드 게임을 배우는 것은 자바를 배우는 것 입니다.

로보코드 홈페이지

로보코드의 특징 Feature is...? – 자바 환경에서 작동하는 실시간 전투게임 – 각 로봇은 인공지능으로 움직이며 전투함 – 자신의 로봇을 직접 프로그래밍 할 수 있음 – 자신의 로봇으로 다른 사람의 것과 대결할 수 있음 – 전투 결과가 점수로 매겨짐 – 캐릭터의 전투 능력은 프로그래밍 Skill 과 비례함 – 자바를 쉽게 배울 수 있다. – 즉, 놀면서 공부한다.

로보코드 설치 –Robocode 홈페이지 에서 로보코드 설치 파일을 다운로드 ( 반드시 jar 파일로 다운로드... – 로보코드 실행을 위해서는 JDK 가 사전에 설치 되어 있어야 함 (JDK v1.5 이상 권장 ) – 설치 : “ java -jar robocode-setup-1.2.6A.jar ” 시스템 구성요소 – 전투장 – 로봇 편집기

로보코드 - 데모 My Robot 작성 방법 게임 진행 방법 소스 설명

로보코드 로봇의 해부 로보코드 로봇 로보코드 기본 명령어 [ 로봇, 총, 레이더의 움직임 ]  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 : 이 메소드는 내 로봇이 벽과 충돌했을 때 호출된다

로보코드 – 기본 정보 시간 단위 : 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 내가 충돌시 = 벽과 충돌시 = 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 좌표

로봇 만들기 실습 각자 PC 에 로보코드 설치 샘플 로보코드 작성, 기본 알고리즘 적용, 디버그 창의 활용 대전 로보코드 제출

무적 로봇 만들기 Tip! 아래 URL 에서 제공되는 로보코드 기본 알고리즘을 적용  developerWorks : Secrets from the Robocode masters (  Wikipedia Robocode (

 2001 : alphaWorks 의 Mat Nelson 개발  2003 : 제 1 회 로보코드 코리안컵 개최 ( 우승 : 고려대 황준식 )  2004 : 제 2 회 로보코드 코리안컵 개최 ( 우승 : 전주대 김형찬 )  2006 : 제 3 회 로보코드 코리안컵 개최 ( 우승 : 성균관대 김정훈 )  2007 : 제 4 회 로보코드 코리안컵 개최 ( 예정 ) 로보코드 코리안컵 History

행사 일정  : 로봇 접수 마감  : 64 강 결과 발표  : 16 강 결과 발표  : 챔피언쉽 결승대회 및 우승자 시상 상품 로보코드 코리아컵 2007

로보코드 - 경기 규칙 Battle Filed Size : 1000 * 800 Gun Cooling Rate : 0.1 Inactivity Time : 450 예선전 : 그룹전투 ( 그룹당 10 로봇 ) 64 강부터 1 대 1 토너먼트 적용 Total Score 가 높은 로봇이 승리 ( 오래 살아남는 것이 아님 )

로보코드 - 점수항목 점 수 항 목점 수 항 목 Total Score 점 수 내 역점 수 내 역 점수의 총합. 순위의 기준 Survival Score 다른 로봇이 죽을 때 마다 살아남은 로봇은 50 점 획득 Last Survival Bonus 최후까지 살아남은 로봇은 이전 로봇이 죽을 때 마다 보너스로 10 점씩 추가 획득 (ex : 전투에 참여한 로봇이 5 개 일 경우 – 4 X 10 점 ) Bullet Damage 적에게 총알로 입힌 타격 Point 만큼 점수 획득 Bullet Damage Bonus 총알로 적을 죽였을 때 그 동안 적 로봇에 입힌 타격 Point 의 20% 를 추가 획득 Ram Damage 적 로봇을 육탄으로 공격했을 때 2 점 획득 Ram Damage Bonus 육탄공격으로 적을 죽였을 때 그 동안 적 로봇에 입힌 타격 Point 의 30% 를 추가로 획득

요약 및 질의 & 응답 로보코드란 IBM alphaWorks 에서 개발한 Java 와 Game 을 접목시킨 프로그래밍 게임 로보코드 게임을 배우는 것은 자바를 배우는 것. 자바를 쉽게 배울 수 있다. 즉 놀면서 공부한다.