0
Finite State Machine 상태의 return 문이 어떤 용도로 사용되는지 알 수 있습니까? 누군가가 실행() 메소드의 문을 처음 두에서 어떤 목적으로하여 반환 키워드를 제공하는 경우를 설명 할 수 있다면유한 상태 기계의 반환 문
public class ChaseBall extends State<FieldPlayer> {
private static ChaseBall instance = new ChaseBall();
private ChaseBall() {
}
//this is a singleton
public static ChaseBall Instance() {
return instance;
}
@Override
public void Enter(FieldPlayer player) {
player.Steering().SeekOn();
}
}
@Override
public void Execute(FieldPlayer player) {
//if the ball is within kicking range the player changes state to KickBall.
if (player.BallWithinKickingRange() && player.isReadyForNextKick()) {
player.GetFSM().ChangeState(KickBall.Instance());
return;
}
//if the player is the closest player to the ball then he should keep
//chasing it
if (player.isClosestTeamMemberToBall()) {
player.Steering().SetTarget(player.Ball().Pos());
return;
}
//if the player is not closest to the ball anymore, he should return back
//to his home region and wait for another opportunity
player.GetFSM().ChangeState(ReturnToHomeRegion.Instance());
}
@Override
public void Exit(FieldPlayer player) {
player.Steering().SeekOff();
}
}
궁금 예를 들어 나는 축구 선수의 상태에 대해이 코드가? 감사합니다.
과 같습니다. 당신이 상태와 그 변화를 안다면, 다른 상태/전환을 확인할 필요가 없습니다. – Ben