Filterで選びだしたAnimalを選んで・・とやりたいのだけどエラー。Filterで返ってくるのはイテレータなのでFindにせいとのこと。でも、後にFindもOption型で返ってくるというエラーをくらうのであった。
当初、TruckのCageフィールドにインスタンスを放り込む・・という物理的な方法を考えてたのだど、考えてみたらAnimalのactionフィールドで解決出来るじゃないかと・・というわけで、こちらはボツとなりました
続いてちょっと画面表示を・・・座標を指定するのは良いとしてPrintlnみたいな文字列に変数を埋め込むことが出来るのか?と。出来る、と。
JailedになってるAnimalをチェックして囚われてるかどうかを表示するための変数作成、これでいけるかな?でも駄目
こう書くか・・
こっちか。FindがOption型で返すといのはこの時点で知ったのだった。面倒だけどしょうがない
スコア計算はこういう感じで
表示部分はこういう感じで
スコア計算部分はこういう感じで
実際の表示はこういう感じで
続いて、この表示残り問題。移動してるだけなら良いんだけど、方向転換をした時にも表示をするようになってるので、その後動くとOld_coordinateが更新されてしまってうまく消せないんだろなぁ〜と
Player表示と同時に行っていたCaptured Animalの表示を、一歩進んだ時にだけ行うようにするべく、Display_playerからコメントアウト
Go_forwardメソッドの中にCaptured Animalの描画部分を埋め込む
その後、すぐさまOld_coordinateを元にして空白表示で1つ前の痕跡を消す
その後、Old_coordinateを現在の座標で上書き
これにて痕跡残り問題はほぼ完全解決!うーん、なんで最初からこうしなかったのか・・
次回はゴリラによるAnimal解放ルーチンにチャレンジだ!
つづく