2016-10-31 19 views
-5

このコードはパックマンのコードプロジェクトの一部であり、ゴーストの動作を初期化します。誰でもそれが何を説明することができますか?Pythonのパックマンコード:説明が必要

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()

このメソッドの本文は、指定されたstateの配信リストが使い果たされているかどうかをチェックします。もしそうであれば、方向の選択を中止し、そうでなければ、これから方向を選択します配布リスト新しい方向。

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

この従来の方法で使用される方法(getAction())であろう - 今のところは説明をコードのみ構文的に正しい部品である(但しからアクション上分布をコードカウンタを返し状態)のみ「アクション」 - 。呼ぶ) - - プログラムは仕上げ途中メッセージそのTであろうことが意図(それが使用される場合に例外を発生させ彼の方法は現在定義されていません

テンプレートのようなものです。