2017-02-22 5 views
2

私は、ユーザーが行く可能性のある方向を列挙しようとしています。しかし、ストーリーのトーンのために、 "あなたは北と南に行くことができる"と言っているのではなく、 "あなたはバスルームとキッチンに行くことができる"と言ってもいいでしょう。可能な方向の代わりに部屋のリスト

帽子コードが見つかりましたが、指示が表示されます。

Definition: a direction (called thataway) is viable if the room 
thataway from the location is a room. 

After looking: 
    say "you can go [list of viable directions]." 

任意のアイデア?

答えて

1
絶対に

ない、それを行うための最も素晴らしい方法が、私は同様の問題があったと私はあなたが作成したと部屋のリストに各部屋を追加した方向のリストを反復処理終わった、1は、言うことができる:

nLooking is a number that varies. nLooking is 0. 

After looking: 
    now nLooking is 1; 
    let accessibleRooms be a list of rooms; 
    let pDirections be list of viable directions; 
    repeat with dirToLookAt running through pDirections: 
     try silently going dirToLookAt; 
     if rule succeeded: 
      add the location of the player to accessibleRooms; 
      try silently going the opposite of dirToLookAt; 
    now nLooking is 0; 
    say "You can go to [accessibleRooms].". 

Before going through a locked door when nLooking is 1: 
    stop the action. 

私はロックされると思われる
(第一開口扉)出力

をブロックするnLookingを使用します。

アクセス可能な部屋を探しているとき。
if rule succeededは、palyerが部屋に移動できたかどうかを確認します。そうであれば、プレイヤーが歩いた部屋がリストに追加され、プレイヤーは彼が来た場所に戻されます。

これは、同じ部屋の1つの土地を意味するものではなく、どこから来たのかとは反対の方向に移動する混沌とした地図を作っていない場合にのみ機能します。一つは、おそらくちょうど...背中彼はから来た部屋にプレーヤーを置くことができ

後期答え、私は知っているが、多分それは私が私の次でそれをテストします、同じ問題:)で

+0

おかげで多くの人を助けますゲーム。私は他の部屋に通じるドアについて言及することで別の方法で解決しました。それはいいですが、より芸術的な方法で使用することができます;) – 18zehn

関連する問題