2016-10-31 2 views
-5

이 코드는 팩맨 코딩 프로젝트의 일부로, 유령의 동작을 초기화하는 역할을합니다. 아무도 그것이 무엇을 설명 할 수 있습니까?파이썬 팩맨 코드 : 설명 필요

class GhostAgent(Agent): 
    def __init__(self, index): 
     self.index = index 

    def getAction(self, state): 
     dist = self.getDistribution(state) 
     if len(dist) == 0: 
      return Directions.STOP 
     else: 
      return util.chooseFromDistribution(dist) 

    def getDistribution(self, state): 
     "Returns a Counter encoding a distribution over actions from the provided state." 
     util.raiseNotDefined() 

코드는 다른 동작에 대해 다른 클래스의 윤곽을 그립니다. 감사합니다. 이 코드가 기록되는 클래스의 오브젝트에 대한

+0

[최소한의 완전하고 검증 가능한 예제를 만드는 방법] (http://stackoverflow.com/help/mcve)을 읽어야합니다. –

+0

당신은 방금 그것이하는 것을 말했다 : 그것은 귀신의 행동을 초기화합니다. 특히,이 코드에 대해 이해하지 못하는 점은 무엇입니까? –

+0

메소드 이름과 주석은 자신이하는 일에 대해 꽤 잘하는 것처럼 보입니다. – Sayse

답변

0
def getAction(self, state): 
    dist = self.getDistribution(state) 
    if len(dist) == 0: 
     return Directions.STOP 
    else: 
     return util.chooseFromDistribution(dist) 

이는 방법 (함수)를 정의 getAction() (Ⅰ. 전자. GhostAgent 클래스의). 그것은 2 개 파라미터 따라 달라

self - 그것은 mandatory (및 숨김) 파라미터이며, (클래스 GhostAgent의) 방법 getAction() 명령에 의해, 예를 들면인가되는 물체를 의미

ghostAgent3.getAction(status); 
이 경우에 self

(파라미터리스트에 열거되지 숨겨진) ghostAgent3

state 수단 -이 파라 인 (getAction()) getAction()

이 메서드의 본문은 지정된 state의 메일 그룹이 모두 소진되었는지 확인합니다. 그렇다면 방향 선택을 중지하고 그렇지 않으면 방향을 선택합니다. 배포 목록에 새로운 방향. (카운터가 제공에서의 행동에 걸쳐 분포를 인코딩 반환이 설명과 코드의 올바른 구문의 조각 지금 -

def getDistribution(self, state): 
    "Returns a Counter encoding a distribution over actions from the provided state." 
    util.raiseNotDefined() 

은 이전 방법 (getAction())에 사용되는 방법 될 것입니다 상태)하고 만 '액션'-. 불림) - -는 의도적예외 (그것을 사용하는 경우 상승 메시지 그 t와 조기 프로그램 것 마무리 그의 방법은 현재 정의되지 않았습니다.

템플릿과 같은 것입니다.