やってみるとジミな気もするな。仕様を前もって決めていても、作ってみるともっとやりたいコトは出てくるモノじゃ。ためらわず新しく作りはじめる心もダイジじゃぞ。言ってるコトがバラバラな気もするけど......あと、自分でワケがワカらなくなる前に、ホドホドで止めておく心もやっぱりダイジじゃな。しろってんだ!どの考え方も同じくらい大切なものさ。うまくバランスをとってプログラムしていきたいね。スピードを変えてみようそういえば、さっきから気になってたんだけど、@RIEX[I]=EX[I]+0.2@LFEX[I]=EX[I]−0.2EX[I]って、敵のX座標だよね。1ずつ足すんじゃないの?ホントだな。+1がタダしいんじゃねェのか?@RIEX[I]=EX[I]+1@LFEX[I]=EX[I]−1RUNチクショウ!敵が早すぎてゼンゼン当たらねー!そうか、敵の動きを+1から+0.2に減らして、敵を遅くしているんだね。ここの数字を変えると、敵の速さを自由に変えられるよ。敵の位置が整数にならないのはイイのか?それは大丈夫だよ!LOCATEでは、小数は切り捨てられて処理されるんだ。敵の動く量を変えれば、速さが変わるのはトウゼンじゃな。敵の動きは+1のままでも、敵を遅くする方法があるぞい。1で1/60秒オソくしてたんだったな。なんだか......RUN......あ、そうか。自機がオソいのは100歩ゆずっても、ショットがオソいのだけはガマンならねー!というかコレ、ただゲームのテンポがユルくなったダケだな!そういうコトだね。VSYNCはその場でポーズするようなモノだから、ゲーム全体のスピードが変わってしまうんだ。VSYNCじゃなくて、敵だけが遅くなるような改造にしないとダメなんだね。考えるとアンガイよくあるパターンじゃねえか?そう、敵を動かす部分をスキップすればいいってコトだね。@RI,@DW,@LF,@DWある条件のトキ以外は敵の場所を変えないことにしたよ。スキップしっぱなしじゃ動かなくなっちゃうから、このIF文で「何回かに1回だけ動く」ようにすればいいってことか......。だいたいハナシが見えてきたゼ。コイツは敵を止める(STOP)ためのフラグだな。これで敵のスピードだけが10分の1になったね。ワレながら、ジョウタツぶりがミゴトだぜ......。いえばこの10回に1回は0にもどるってパターンは......どうやらオボエていたようじゃのう。ESTOP=0そしたら、数がフエるイッポウじゃねェか?うーん、タシカにそうなんだけど。10の答が0になる......つまりスキップしないってコトになるよね。Nと書くとIが『Nの倍数』になるたびゼロまでおり返しながら1増えていく」。前におぼえたホウソクだね。やってるコトは同じじゃが、IF文がひとつ消えてコンピューターにやさしく、短いプログラムになったのう。ESTOPの数はサイゴまで増えっぱなしじゃが、このゲームではメモリーのゲンカイまで増える前にゲームオーバーになるから、これでもよかろう。そこまでコウリツをモトめるその考え方、オレは気にくわねェな!タシカに、ワンパク君のプログラムの方が初心者にはわかりやすいとも言えるわい。どこまでプログラムにコウリツを求めるべきか、それはプログラマーにとってエイエンのテーマじゃ。どれがセイカイとも言えない、ってコトかな。ちなみにスキップする回数はちょっと変わるけど、こういう方法もあるよ。@EPUTビット演算のくわしいセツメイはもうはぶくけど、8回に1回だけESTOPがゼロになってスキップしなくなるプログラムだね。Nを使うよりもスキかなあ。ケッキョク、プログラムするヤツのスキズキってコトか......。セイカイがひとつとかぎらんのも、プログラムのおもしろさじゃな。プログラマー2人に合作させるとおたがいのビガクがぶつかって、見ていてオモシロいもんじゃよ。......やじうま?クリア画面をつくってみようスピードが変わって、だいぶゲームらしくなってきたな!敵が少なくなると、デタラメに撃っても当たらなくなるのがよくわかるね。当てようとしていると、敵にせめこまれてゲームオーバーになっちゃう。ゲームにはこういうカケヒキがないとね。なんだかハジメてホメられた気がするわい......。なってくると、敵を全滅させた時に何もないのがさびしいね。ゲームクリア画面を作っておこうよ。敵の数をチェックするための変数がいるな。ELEFT=EMAX敵の最大数を決める変数EMAXがもともとあったから、新しい敵(Enemy)の残り(LEFT)変数ELEFTに使うことにするゼ!敵が1匹やられるたびに、変数ELEFTを1へらせばいいね。@GENDそこからは新しいサブルーチンになるね。みすい”ENDこんなところかな?さすがにサクサクいくようになったのう。クリアしたその時、はじめてゲームタイトルが出てそのイミが明らかになる。ワシのノゾミどおりの、ハリウッド的クールなエンシュツじゃ。そこまで考えてなかったけど......。あっと、まだ終わりじゃないよ。ひとつわすれてることがあったね。最後の敵を撃った点が入ってないよ!最後の敵が撃たれたらスグに@GENDに飛んでいるから、こうなっちゃうね。@SCOREず......ずいぶんストレートな方法でカイケツしてきたね。@SCOREに行って10点プラスして帰ってくるワケじゃな。10点以上の敵を倒してクリアしたトキはどうする、というモンダイはあるが......そもそも10点以上の敵がいないので、マチガイなくこれでカイケツはしておるな。ハカセにしてはアッサリしてるけど。何点の敵を打ってもOKなプログラムを組むのがリソウではあるんじゃが......、ショクンならフラグをうまく使えばスグにできるじゃろうしな。10点以上の敵を出すヨテイもない今は、これでよかろう。(さっき自分も気がつかなかったコトを、ゴマカそうとしてるんじゃねェか......?)まとめのようなものおぼえたコトは、なんでもムダにはならないってコトだね。ビット演算にかぎらず、このBASIC講座で勉強したことは、イガイなところで役に立ったり、応用しだいでもっとイロイロな使いみちがあるハズさ。読者のショクンも、このサンプルをさらに改造するコトから始めてみてはどうかな?これまでの講座でおぼえた命令を組み合わせると、イガイにやりたいコトができたりするものじゃ。たしかに、まだ改造したいポイントはいっぱいあるね。敵の種類をふやしてみたいし、プレイヤーが1機でおわりじゃなくてもいいよね。カラフルにするのもよさそうじゃな。敵がやられた時にバクハツパターンを出すなどもいいじゃろう。いう見た目のエンシュツはイガイに考えるところが多く、うまくいった時のジュウジツ感も大きいのでおすすめじゃぞ。やりたいコトに手が届かない時は、説明書をながめてみるのもいいかもね。ムズカシそうだけど、ここまで読んだ今なら、何が書いてあるのかカナリわかるようになってるハズだよ。最後のほうで、みんないい子になって教育的なことでまとめれば、まるでいい講座だったように思い込めるものです。◆1sxkymI8ji30。