【HSPプログラミング講座#8】変数とボタンを組み合わせてミサイルを飛ばそう
タイトルとURLをコピーしました
さて前回までのプログラミングで文字をミサイルのように飛ばしたり、変数とボタンを使って数字のカウントを増やしたりするプログラムを作ってみましたね。 ワタクシ「リサル」は良い事を思いつきました。この2つを組み合わせてボタンを押していくとミサイルが進んでいくプログラムができるのではないかと。 みなさんもここまでやってきて、なんとなくできそうな気がしませんか? まぁ今までのことを組み合わせるだけなので、頑張ればできそうですね。 では早速プログラムを書いてみましょう。
プログラムの1行目で初めて出てきたのが「;」セミコロンです。これはコメントと言って、セミコロン以降の文字は無視されます。 なんのためにあるのかというと「ここで何をしているのか」を書いています。プログラムが大きくなってくると「あれ?この変数は何に使っていたんだっけ?」とかわからなくなることもあるし、自分だけでなく他の人と一緒にプログラミングをするときに、わかりやすく説明するために使います。ここではspeed変数にミサイルの進む速度を表していますよ。と書いています。
2行目はミサイルが横に飛んでいくためにx座標をどんどん足し算して変化させる必要があるので変数を用意しました。
6行目でミサイルの表示する位置をpos命令で指定しています。x座標はどんどん変化していくので変数を使っていますが、y座標は変化しないので200の数字を入れて固定していますね。次の7行目でミサイルの形っぽい「- – – >」の文字を書いています(汗) これがミサイルです。。。適当すぎますね~
8行目ではボタンを表示する場所を指定しています。常に左上に表示されるようにx座標もy座標もゼロの位置を指定しています。
あとはメインのミサイルが飛んでいくプログラムですね。13行目でミサイルのx座標で用意したmissile_x変数にspeed変数の数字を足し算して、missile_xにその計算結果を入れ直しています。今回はspeedの数値は5なので、5ずつ増えていきますけど、1行目のspeed変数に数値を書き換えれば、ミサイルの飛んでいくスピードが変わります。
では実行してみて動作を確認してみましょう!
おおー!ボタンを押す度にミサイルがちゃんと進んでいきますね! 素晴らしい! なんだかちゃんとしたゲームっぽくなってきましたよ!
ミサイルを飛ばすプログラミングのまとめ
まず今回のプログラミングで出てきた新しいことは「;」セミコロンですね。プログラムには直接関係ありませんが「ココで何をしているのか」をメモのように書いておくことができます。 それから前回のプログラムではボタンを押すと数字のカウントがアップしていくものでしたが、これをx座標に応用してカウントをアップすることで横方向にミサイルが飛んでいるように見せることができました。
やぁ~プログラミングって楽しいですね! 命令を組み合わせるだけで色々な表現ができるんですね。積み木とか、レゴブロックみたいですね。アイディア次第で色々できそうです。
今回のプログラミングをしていて思ったのですが、ボタンをポチポチ押し続けないと進んでいかないミサイルって変ですよね!? 普通のミサイルは1度ボタンを押すと、ずーっと自動的に飛んでいきますよね!? う~ん、どうやって作ればいいんだろう? 次回はそのやり方を勉強しましょう!