ݺߣ

ݺߣShare a Scribd company logo
4장 스포츠 시뮬레이션 - 단순축구박상혁
4장 스포츠 시뮬레이션 - 단순 축구
게임환경경기장 1		: SoccerPitch골대 2		: Goal축구공 1		: SoccerBall팀 2		: SoccerTeam필드선수 8	: FieldPlayer골키퍼 2		: GoalKeeper
4장 스포츠 시뮬레이션 - 단순 축구
축구장
골
축구공
SoccerTeam
최상 지원 지점 ѫ팀이 공을 제어하고 있을 때, "좋은 위치"로다른 선수를 보내거나 패스를 하려고 할 때"좋은 위치" 를 결정하는 방법상대편 경기장 쪽의 샘플링된 위치 지정
최상 지원 지점 ѫ
SoccerTeam State골이 들어갈 때PrepareForKickOff양 팀 선수가 모두제 위치에 있을 때AttackingDefending팀이 공을 제어할 때팀이 공을 제어하지 않을 때
FieldPlayer공격수 or 수비수실제로는 최상지원지점 ѫ에서만 쓰인다공격수만 최상지원지점 이용가능함'도착하기', '찾기', '추적하기' 등의 조종행동을 하며경기장을 돌아다닌다
FieldPlayer StateMsg_SupportAttackerMsg_GoHomeMsg_ReceiveBallMsg_PassToMeMsg_WaitGlobalPlayerState공에 가장 가까이 &&받는 선수가 지정되지 않고 &&골키퍼가 공을 가지고 있지 않음WaitReceiveBall공에 충분히 가까이 감 ||팀이 공을 제어하지 않음ChaseBall공이 찰 수 있는 범위에 있을 때공에 가장 가까이 있지 않을 때슛,패스를 하고난 뒤ReturnToHomeRegionKickBall킥을 시도할 수 없을 때슛, 패스를 할 수 없을 때공을 찬 뒤팀이 제어를 잃음SupportAttackerDribble
ChaseBallKickBall공이 찰 수 있는 범위에 있을 때C󲹲공에 가장 가까이 있지 않을 때ReturnToHomeRegion
WaitWait공에 가장 가까이 &&받는 선수가 지정되지 않고 &&골키퍼가 공을 가지고 있지 않음ChaseBall
KickBallKickBall킥을 시도할 수없을 때C󲹲
KickBallKickBall슛,패스를 하고난 뒤슛, 패스를 할 수 없을 때WaitDribble
GoalKeeper골키퍼는 필드선수와는 다른 종류의 기술 사용필드 선수와는 다른 별도의 클래스움직임 패턴도 다르다필드 선수와 상태 집합이 다름
GoalKeeper StateGlobalKeeperStateMsg_GoHomeMsg_ReceiveBallPutBallBackInPlay공을 가로챈 뒤InterceptBall골에서 멀고공에서 가장 가깝지 않을때패스를 한 뒤공이 한도 내로 들어오면TendGoal정해진 거리 내로 들어오면골에서 멀고위협이 없을 때홈에 가깝거나상대편이 공을 가지면ReturnHome
TendGoalPutBallBackInPlay공이 한도 내로 들어오면TendGoalInterceptBall정해진 거리 내로 들어오면골에서 멀고위협이 없을 때ReturnHome
주요 메소드SoccerTeam::isPassSafeFromAllOpponent위치 A에서 B까지의 패스가 공의 궤적 어딘가에서상대편 선수에게 가로채기 당할 수 있는가.
주요 메소드SoccerTeam::CanShoot
추정 및 가정하기1. 완벽하게 만든 후 바보스럽게 행동하기ex) CanShoot 에서 무작위 목표 설정2. 가정과 추정을 통해 오류가 생길 수 있게 하기가로채기 영역을 원으로 설정불확실성을 만들기알고리즘이 쉽고 CPU를 많이 소모하지 않으면 1번.그렇지 않으면 2번을 통해 복잡도를 줄인다.
끗

More Related Content

4장 스포츠 시뮬레이션 - 단순 축구