星田オステオパシー

Rustでトランキライザーガン その14 トラックの挙動

 続きをやるその前に・・ちょっと関数やら構造体やらの場所が散らかってて大変なので整理。そろそろ1,000行近いので、どんどん効率が落ちていってる

 とりあえずトラックに乗り込んで動かすメソッドを何となく書き始める。が・・トラックは外周に沿った道しか動かないからなぁ・・。思い切って、前進と後進のみの操作方法にしようかな・・


 キーを受け取りたいが仮引数の型が不明なので尋ねる

 これはKeyCodeだけを受け取る方法で決まりやろ

 fキーとgキーで外周を半時計周りに前進と後進のみする・・という操作方法で決定する。画面四隅で90度方向転換するわけだから・・と条件式を書く。うーん・・四隅以外の部分、座標の片方は範囲になるんだけど、まさか0..12とかって書き方で範囲を取ることなんて出来ないよねぇ?


 出来るんかい!うおおコレはアツい!めちゃくちゃ便利じゃないかよ

 というわけで前進後進のみで外周を動く関数を書く。ついでにTruckの向きも変更するようにして・・と。結構しんどかったわ〜

 続いてキー入力部分に追加、Playerが乗車してなくて、トラックと同じ座標におり、rキーを押した場合乗車。Truck.ride_onフィールドをTrueにして、Playerを不可視にする。
 既に乗車してる場合にrを押すと下車。各種フラグを更新して、Playerの座標を現在のトラックのものにすると。

 後は同じ調子でgとbでメソッドを呼び出す部分を書いたら・・多分動くハズ。

 でも、それは明日にしよう。お疲れ様でした


 と、思ったけど結局このメソッドは使わなくなったので廃棄して

 最後にKey入力をメソッドの引数に渡す時の書式をチェックしておく。明日も楽しみだ!

つづく
  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「プログラミング」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事