2017-01-05 11 views
-1

私は「Pythonの難しい方法を学ぶ」という本を今作っており、何かを理解していません。 excersisesの一つで著者はいくつかのコードを使用して、私は(.enterが関与理解していない).enter()関数を使用してPythonを理解できない

def play(self): 
    current_scene = self.scene_map.opening_scene() 
    last_scene = self.scene_map.next_scene(’finished’) 

    while current_scene != last_scene: 
     next_scene_name = current_scene.enter() 
     current_scene = self.scene_map.next_scene(next_scene_name) 

    current_scene.enter() 

私はまだ完全にクラスを理解していないが、私は主に、ここで何が起こっているか理解入るために保存します。私はそれに関する文書を見つけることができず、なぜそれが使用されているのか、それがなぜそこにあるのかに関する情報は非常に役立つでしょう。どうもありがとうございます。

私は最新版のLPTHWの演習43から取り組んでいます。演習の特定の部分は、Planet PercalのGothonsと呼ばれます。#25

+0

あなたが参照しているLPTHWの特定の部分へのリンクを提供できますか? –

+0

私はちょうど今底のそれを加えた –

+0

opening_sceneを見つけなさいそしてそれはクラスです - それは前に言及されるか、またはどこかで説明されるべきです。 – htzfun

答えて

0

私はLPTHWから数回を教えてきました。初期の回答は、一般的な解決策では正しいです。 を入力すると各クラスの方法はデザインする必要があります。これは、その上にドキュメンテーションがない理由です。この方法の目的は、プレイヤーがこの部屋に入ったときに行う必要があることをすべて実行することです。典型的な実装が含まれます:(?プレイヤーを何「を参照」)

  • が部屋内の他のオブジェクトを初期化し

    • 印刷ウェルカムメッセージ
    • 印刷部屋の説明を、など
      • クマオブジェクトを作成する
      • 金の量を調べる
      • プレイヤーがこの部屋に何回入力したかなど、いくつかのゲームステータスを更新します。

    世界を作成しています。 メソッドを入力することは、それをプレイヤーに提示する重要な部分です。

    楽しんでください。

  • +0

    ありがとうございました。とても役に立ちました。 –

    1

    enter()は、(最初​​の関数行で生成される)シーンクラスの関数でなければなりません。それは完全な運動を見ずに正確には難しいですが、私はenter()は単にSceneと呼ばれるクラスのメソッドであるとcurrent_sceneは、そのクラスのインスタンスであることを想像内蔵のPythonの機能

    +0

    それは完全に正しいです、私は今、とても愚かだと感じます。私はそれを非常に思っていました。悪い質問には本当にありがとうございます。 –

    0

    ではありません。

    +0

    また、私がオンラインで見たテキストから、これらのゲームは、そのようなゲームを構造化するためのひどい恐ろしい方法のようです。 –

    -1

    まず、以下のようにpdbを使用してPythonアプリケーションをデバッグすることができます。 PDBでは

    のpython -m pdbのyour.py

    、あなたはいくつかの情報を見つけるために、以下のようにコマンドを使用することができます。

    ヘルプ(current_scene.enter)

    +0

    ポスターは既存のコードをデバッグしようとしていません。彼は使用または書かれるコードの目的を理解しようとしています。 – Prune

    +0

    いいえいいえいいえ。 pdbはデバッグツールではありません。あなたはコードを理解するためにそれを使うことができます。 "** enter **メソッド"を知らない?さて、pdbの "ステップイン"。 – lxyscls

    +0

    私は次のとおりではありません:空のルーチンにステップインすることは、OPの問題を解決するのに役立ちますか? – Prune

    関連する問題