Stack-structureを使用するのはこれが初めてです。基本的な考え方は次のとおりです。私は、プレイヤーがさまざまな部屋を訪れることができるテキストベースのアドベンチャーを書いています。現在、彼は戻ることができません。彼の動きを記録するためにスタックを使うかもしれないと思いました。したがって、彼が別の部屋に移動した場合、push()を使用してcurrentCity(クラスCityのオブジェクト)をスタックに配置しました。それはそのように見えます:
private Stack history;
コンストラクター内:
history = new Stack();
「go」関数の場合:
history.push(currentCity)
次のようにgoBack関数でオブジェクトを取得しようとすると、次のようになります。
currentCity = history.pop();
(currentCity is a private variable of the class I'm working in. It's of the type
City)
スタックの上のオブジェクトはCity型からのものであり、変数currentCityも同様であるため、これでうまくいくと思いました。それでも互換性のないタイプが表示されます。
どんな助けでも大歓迎です、stiller_leser