#この記事は?
先日stgゲームを作っている際に、タイトル通りのことを作ってみようと思ったのですが、
自分にとって難しかったので実装までの道のりを備忘録的に書いてみました。
#実装までの道のり
まず、問題の切り分けをしました。ランダムで沢山の武器の中から三つを選ぶシステムを作るためには、
1 沢山の武器を作り、配列の中に入れる。
2 乱数を使って三つの「被らない」乱数を添え字として使う。
3 プレイヤーが選んだことを検知して選んだ武器を渡す。
この3つがあれば実装できそうなので、順に実装していきました。
##1 沢山の武器を作り、配列の中に入れる。
あとから武器を追加する可能性があるので、静的配列ではなく動的配列を作り、順次武器を作ってその中に入れていきます。
##2 乱数を使って三つの「被らない」乱数を添え字として使う。
これが正直一番大変でした。ただwhileを使って被らないような内容を作るだけなのですが、
for文やらif文やらが混雑してなんの文がなにをしているかがわからなくなってしまい、
解読に時間がかかったり、Unityがフリーズしたりと。
切り分けて一つずつ問題を解決していけば難しくないことに気が付きました。
##3 プレイヤーが選んだことを検知して選んだ武器を渡す。
これはゲームを作ったことのある人なら誰もが覚えのあるOnButtonClickメソッドで、
選んだ武器の情報を取得すればよさそうです。
#最後に
Listとかを使うときはAddやらRemoveやらを使わなければならないみたいなので使うのを尻込みしていましたが、
色々検索してみたら意外にもなんとかなったのでGoogle先生に感謝しながらコード書いていきたいと思います。