0

私はこれまでのところこれを持っています:

print('a skeleton comes into view, the hiker must have been dehydrated.')
print ('he was wearing a Yankees HAT, to the right of his body he set his BACKPACK         and WOODEN WALKING STICK next to the wall')
input2 = raw_input ("You may SEARCH____(object),PICK UP____, USE____ ON_____, or GO ON: ")
if input2 == 'PICK UP HAT':
    print 'taken'
    hat = hat+1
    input2 = raw_input ("You may SEARCH____(object),PICK UP____, USE____ ON_____, or GO ON: ")
#
#
#

if input2 == 'SEARCH BACKPACK':
    print ("there are OLD CLOTHES in here as well as a TARP")
    input2 = raw_input ("You may SEARCH____(object),PICK UP____, USE____ ON_____, or GO ON: ")


elif input2 == 'PICK UP CLOTHES':
    print ("tsken")
    input2 = raw_input ("You may SEARCH____(object),PICK UP____, USE____ ON_____, or GO ON: ")


elif input2 == 'PICK UP TARP':
    print ("taken")
    input2 = raw_input ("You may SEARCH____(object),PICK UP____, USE____ ON_____, or GO ON: ")


elif input2 == 'PICK UP BONE':
    print ("taken")
    input2 = raw_input ("You may SEARCH____(object),PICK UP____, USE____ ON_____, or GO ON: ")


elif input2 == 'PICK UP WOODEN WALKING STICK':
    print "Taken"
    input2 = raw_input ("You may SEARCH____(object),PICK UP____, USE____ ON_____, or GO ON: ")


elif input2 == 'GO ON':
    input3 = raw_input ("left or right: ")
    if input3 == 'left':
        import module3
    elif input3 == 'right':
        import module4

while を作成する必要があるのか​​、ここでステートメントを作成する必要があるのか​​ 理解できません。

たとえば、ゲームをプレイしている人がバックパックを検索せずに帽子を2回拾ったり、タープを拾ったりできないようにするにはどうすればよいですか。

4

2 に答える 2

1

問題の一部の解決策は、ディスパッチャーを使用することです。

def pick_up_hat():
  return True # do stuff

def search_backpack():
  return False # do stuff

actions = {
  'PICK UP HAT': pick_up_hat,
  'SEARCH BACKPACK': search_backpack,
  # ...
}

go = True
while go:
  cmd = raw_input().strip()
  go = actions[cmd]()

状態の管理など、修正が必要な設計上の問題が他にもあることに注意してください。

于 2012-07-02T15:16:55.210 に答える
0

標準ライブラリの一部である cmd モジュールを使用することをお勧めします。端末ベースのコマンド解析、メニューなどを実装するための便利なインフラストラクチャを提供します。ここに良い基本的なチュートリアルがあります:

http://www.doughellmann.com/PyMOTW/cmd/index.html

同じように機能するが、より多くの機能を備えた cmd2 と呼ばれるドロップイン代替サードパーティ モジュールもあります。

http://pypi.python.org/pypi/cmd2

于 2012-07-02T16:10:54.627 に答える