第2.21話 共同作業
家に帰って部屋着に着替えると、すぐにパソコンを起動した。
スタート画面の選択肢を描画するプログラムを、少しでもきれいに書けないかと、下校中にずっと考えていた。
なんとなく思いついたかもしれない、ということはよくあることで、実際にプログラム書くしかない。
一つ思いついたのは、選択肢を二次元配列で扱うということだ。
配列というのは、同じ種類のデータを繋げて扱えるものである。はじめるという単語も、文字を繋げたデータであり、文字列と呼ばれているものだ。そして、選択肢では文字列を複数扱う。はじめるとおわるは、それぞれ一列のデータであり、その一列のデータをさらに繋げたのが、二次元配列である。
配列を扱う利点は、それぞれに番号が振られていることで、繰り返し処理を行えば、選択肢を順番に呼び出して描画することが出来る。選択肢を増やしても、描画処理の部分で何かを増やす必要もない。プレイヤーがどれを選択しているのかも数で扱うため、選択しているものだけ大きく描画する処理も簡単だ。
プログラムを書いて実行してみる。
はじめるが少し大きめに描画されていて、その下で、おわるが描画されている。下矢印キーを押すと、はじめるが小さくなり、同時におわるが大きくなって描画された。上矢印キーを押したときも、特に問題は見つからない。ついでに、選択肢として、設定という項目を増やして実行してみたが、無事に動いた。もちろん、設定なんて作る気はないので、すぐに消す。
これでスタート画面の見た目はできたが、中身はまだ未完成だ。次は、スタート画面とシューティングゲームの切り替えをするプログラムを書く。はじめるを選択してエンターキーを押したらシューティングゲームが始まる、というのが一連の流れである。
第二コンピュータ室で作業した時に、飛行機や敵などのアップデート関数を一つにまとめて、ゲームシーンアップデートという関数を作った。ゲームシーンイニットという、初期化をまとめた関数も作った。スタート画面も同じように、StartSceneUpdateとStartSceneInitという関数でまとめる。
次にプログラムを書くのは、メインループの中だ。スタート画面の初期化、スタート画面、シューティングゲームの初期化、シューティングゲーム、それら四つの内、どの処理を呼び出すのかを常に判定する。複数呼び出したり、どれも呼び出されなかったりしないように、気を付けないといけない。また、初期化のタイミングも大事だ。アプリケーションを起動した瞬間ではなく、シューティングゲームを始めた瞬間にしないといけない。飛行機の位置やHP、スコアなどが、引き継がれてしまうからだ。
さすがに疲れたので、スタート画面とシューティングゲームの切り替えが出来たことを確認して、今日の作業を終える。
パソコンをスリープ状態にして、ベッドに寝ころぶ。目をつぶってみたが、疲れすぎているせいか、閉じ続けるのがしんどい。 こういう時は、遠くの景色を見るのがいいのだが、今日は雨だ。
仕方ないので、お風呂に入ることにした。たまには、湯舟であぁと声を出すのもいいかもしれない。リラックス効果があると、どこかで見た覚えがある。
重くなりかけていた体を持ち上げ、ベッドから離れる。引き出しから、自分のパンツを取り出したときに気づく。そういえば、まだ風呂を洗っていない。
仕方ないので、パンツをベッドの上に放り投げて、風呂に行く。栓を抜いて、昨日のお湯が無くなるのを待つ。はぁと溜息が漏れたのに気づき、心の中で呟く。
きっとこれも、雨のせいだ。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます