0

ゲームの作成に問題があることについて、ある年に誰かが尋ねたコードを見ていましたが、彼らのコードの別の部分についての質問に出くわしました。以下はコードです...

game_runner.py

from game_map import *

class Runner(object):
    def __init__(self, start):
        self.start = start

    def play(self):
        next_room = self.start

        while True:
            print '\n'
            print '-' * 7
            print next_room.__doc__
            next_room.proceed()

firstroom = Chillin()

my_game = Runner(firstroom)

my_game.play()

game_map.py

from sys import exit


class Chillin(object):
    """It's 8pm on a Friday night in Madison. You're lounging on the couch with your 
roommates watching Dazed and Confused. What is your first drink?
    1. beer
    2. whiskey
    3. vodka
    4. bowl
"""
    def __init__(self):
        self.prompt = '> '

    def proceed(self):
        drink = raw_input(self.prompt)

        if drink == '1' or drink == 'beer':
            print '\n Anytime is the right time.'
            print 'You crack open the first beer and sip it down.'
            room = Pregame()
            return room
        #rest of drinks will be written the same way


class Pregame(object):
    """It's time to really step up your pregame.
How many drinks do you take?
"""

    def proceed(self):
        drinks = raw_input('> ')
    #and so on

したがって、ここでの私の質問はfirstroom = Chillin()def __init__が呼び出されたときですが、どういうわけかself.prompt = '> '、While ループが 1 回ループするまで表示されません。私はまだコーディングを始めたばかりなので、この質問は漠然としているように見えるかもしれませんが、私は非常に混乱しているので、誰かが答えてくれることを願っています. ありがとう!

4

1 に答える 1

1

self.prompt は、proced() が呼び出されるまで表示されません。

proceed() は while ループの最後に呼び出されます

于 2013-06-12T15:29:41.617 に答える