UnityEngine.Random.Range(0, 1)、これは0以上1以下の乱数を得るつもりのコードです。空間内のオブジェクトの位置などは(0, 1, 0)などで指定してしまうことが多いかも知れません。端数があるなら(0.5f, 1.2f, 0.3f)などと「f」をつけないとエラーになります。その調子でタイトルのような書き方にしたら、0が得られるだけでした。整数版のRange()が呼ばれ、0以上1未満の値が返るのだそう。整数だから0なのだと。シールドを展開しておき、弾が当たるたびにランダムにシールドを構成するパーツが減ってゆく演出で乱数を使いました。修正後の動画はこれ。
1回当たったらランダムに選んだ1/3のパーツが消え、次に当たったらまたもとの1/3が消え、……というようにしたかったのに、いっぺんでパーツが全部消えてしまい、「???」と思ってしばらくハマりました。
動画は特に芸のないシューティングゲームですが、とにかく今、新しい設計法で1本作っている最中です。とりあえずどんなのでも、書き上げれば身につくかな、という考えです。今までとまるで違う書き方で、いちいちChatGPTに問い合わせていますが、だんだんそれも減ってきました。イメージはつかめたと思います。実際の場面であれこれ、細かなところで不明の点がまだあり、その辺を聞いています。
新しく本を購入。『基礎からの「ガロア理論」』(廣津孝2025日本能率協会マネジメントセンター)です。数学の本をたくさん出している会社か分かりませんが、ザッと見たところ説明は丁寧そうです。ある程度読んだらちゃんとレビューします。ガロア理論の本は学生時代から何冊か読みましたが、ぼくにとってどれも易しくはありませんでした。今回はどうか、3学期は時間があるので勉強してみます。