第2.29話 共同作業
昨日はゲームをしたので、今日は少し根を詰めないといけない。背伸びをしてからノートパソコンを開く。
しかし、こうやって家でも作業が出来るのなら、第二コンピュータ室が無くても続けられるのではないだろうか。いや、それだと怠けてしまう。プログラムを書くだけならまだしも、誰かと何かを共有するというのは、それなりに疲れるものだ。切り替えをする時間が欲しい。そしてそれは、第二コンピュータ室に向かう途中だとか、そういう瞬間なのだろう。
今日、優先してやることは、メデューサの毒攻撃のプログラムを書くことである。
佐久間から、シューティングゲームに出てくるボスは、弱い敵を衛星のように付きまとわせている事が多いと聞いた。それを習って、当たったら毒状態になってしまう玉をメデューサの周りで漂わせれば、それなりに面白いかもしれない。
もし時間が余るようであれば、重力を考慮した爆弾に慣性を加えて、シューティングゲームに組み込みたい。下を攻撃できなくてもクリア出来るゲームではあるが、まっすぐ飛ぶ弾だけでは、物足りない気がする。
どういうプログラムを書くのかは、昨日頭の中で考えたので、後は実装するだけだ。
当たれば毒状態にする玉を、PoisonBallと名付けよう。これは今考えた。
ポイズンボールは、メデューサの位置を原点として動かすため、常にメデューサの位置を入れる必要がある。そして、円運動だが、これは三角関数を使う。横の位置がcosで縦の位置がsinだ。cosとsinは三角形でいうところの、斜辺1に対しての底辺や高さの大きさであり、1から-1までの値しか得られない。そのまま使っても、ほとんど変化しないだろう。そのため、何かしらの値を掛ける必要がある。いわゆる半径というものだ。ポイズンボールは、飛行機を狙ったものなので、メデューサと飛行機の横の距離を半径としよう。
まだ秋晴さんに、ポイズンボールの絵を頼んでないので、画面に描画されるのはただの円だ。紫色にする。
一旦実行して、動かしてみる。
メデューサが表示されると共に、紫色の円も出てきた。メデューサの周りを回り、飛行機に向かっては通り過ぎていく。メデューサと飛行機の横の距離を考慮した軌道のため、綺麗な円ではなく、横に平べったくなったり縦に平べったくなったりする。大方、期待通りの動きだ。
しかし、どれだけ飛行機を動かしても避けきれない。それもそのはずである。常に飛行機との距離を考慮していては、円の大きさも変わり続けてしまう。修正しなければ。
メデューサの足元を通った瞬間だけ、飛行機との距離を取得するようにして、もう一度実行してみる。今度は、動かして避けることが出来た。
ポイズンボールの動きはこれでいいだろう。後は、ポイズンボールと飛行機の当たり判定だ。これは前にも使った円同士の当たり判定を用いる。そして、当たった時に飛行機を毒状態にする関数を呼び出す。
もう一度実行してみる。まだ、飛行機が毒状態になった時の処理を書いていないため、先ほどと結果は変わらないはずだ。
まだ時間が少しあるので、爆弾に慣性を考慮させてみる。
慣性の法則というものを、俺はよく知らないので、ネットで調べてみる。どうやら、物体の運動は他からの影響を受けない限り変化しない、というものらしい。
よくわからないが、飛行機から爆弾を落とせば、落とした時点での飛行機の加速度を引き継いだうえで、重力の働きをするということだろうか。
一旦実装してみる。
爆弾のスピードを、落とす時に決めるのだが、飛行機が動いている時は飛行機のスピードを、止まっている時は0を入れるようにした。
また、まっすぐ飛ぶ弾と違って動きがわかりづらい。そのため、今落としたらどんな軌道を描くかを、点をいくつか描画することで可視化できるようにしてみた。といっても内容は単純で、放物線の公式を用いただけである。
そして次は操作方法だ。Bombの頭文字であるBキーを使うというのはすぐに決まった。問題は軌道を常に描くかである。
実際にゲームとして動いているところを想像してみたが、やはり落とす時だけ軌道を見えるようにするのがいいだろう。キーを押している間に軌道を描いて、離した瞬間に爆弾を落とせばいいのだ。これでちょっとはゲームの要素として成り立つのではないだろうか。
実行して動かしてみる。
飛行機を動かさないままBキーを押すと、飛行機の真下に向かって点が描画されていった。Bキーを話すと、点に沿って爆弾が落下していく。
次に、飛行機を動かしながらBキーを押してみる。飛行機から前に向かい、だんだんと下に向かって点が描画された。そのままBキーを離して爆弾を落とすと、横には飛行機と同じ向き同じスピードで進み、下には速度を上げながら落ちていった。
成功である。
秋晴さんに操作方法の絵を頼んでいるため、Bキーを使って爆弾を落とすことを伝えておく。すぐに返信は来なかったが、まぁすぐに対応してくれるだろう。
疲れた目を閉じて、軽い仮眠を取ろうとする。この頃、束の間の惰眠を気持ちいいと思うようになった。
これが充実しているということなのだろうか。わからないが、隆也には言えないな。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます