私はプログラミングの初級クラスを受講しており、テキストベースのゲームを作成しています。実際のゲームではなく、自分の冒険を読んでいるようなものですが、マップから情報を取得する方法がよくわかりません。マップにはすべてが含まれています。部屋の情報を、それを実行するファイルに入れます。私は部屋のファイルを次のように設定しています...
0 roomone
you enter a room, and it looks odd. you can go north or south. which way?
2
north 1
south 2
//will having a space here make a difference? should i delete these?
1 hall
theres a hall here, with a door running east. continue north,go east, or go back south?
3
north 3
south 0
east 4
部屋に番号と名前が割り当てられるように、次に説明を取得し、出口の数をリストし、それらが何であるかをリストし、次に、答えがどの番号の部屋に行くべきかをリストします。1 つは最初の 3 ビットの情報を部屋の情報として取得し、もう 1 つは出口の数を読み取り、その数の出口の配列を作成します。次に、出口とその番号を読み取ります。
私が持っているのは
case class Map(location:Int,place:String,description:String,exits:Array )
case class Exits(numberexits:Int,direction:String,destination:Int)
おそらく簡単な答えがあることはわかっていますが、何をすべきかについて本当にかなり迷っています。ファイルを読み込む方法がわからないので、適切な部分が適切な場所に移動します。また、私は初心者なので、読んでいる内容の多くがあまり明確ではないので、できれば私の質問は明確で、誰かが私を助けてくれます。私がこれについて正しいことを行っているかどうか、実際に組み立てようとしたときにうまくいくかどうかを教えてくれます。ユーザー入力を取得し、出口の配列から入力された方向を検索し、それに関連付けられている目的地を調べます。次に、その目的地を取得し、その番号を持つマップ内の場所を探してそこに移動し、次に println(Map.description ) 次の入力を待ちますか?