チキンのカルペディエム

統合失調症です。今は家で暮らしていて、好きな絵などを描いたりしてゆっくり暮らしています。

がままのプログラムぼやき。

f:id:siitucun5:20180814132405j:plain
「プログラム はてなブログ」と検索すると難しい文章から、うん?みたいなものまであるけどがままが見てもよく分からずに閉じてしまう。

がままは知っていると言うほど知ってはいないけれど、少しだけ話せるかもしれない。いつもあるがに、がままのトークが発令すると腹を抱えて笑われるのだが。ちんぷんかんぷんな把握が面白いのだろう。

今回はまあ、前のブログでも書いたことがあるけれど、がままの知っているプログラムの事を書いてみようと思います。

始めに、がままは初め、FM-7やX1、PC8001mk2などの今言うレトロPCでできるゲームの動画を見てました。あるががYouTubeで見せてくれたのです。機種はたくさんありましたが。そこで絵が表示できる機種とか、ドットが細かいとか、ちらつきがあるとか、色の種類があるとかを知ります。

もっと言えば、パソコンには性能が違っていて、できることが違うことがわかりました。ゲームの動画では音、絵(グラフィック)、色、重ね合わせ、スクロール、そして処理速度などの処理落ちなど細かいところに差があるのです。

それはコンピューターのCPUや、メモリーが違っていたりして言わば0と1の数を使ってどれだけの命令が実行できるかになります。プログラムも言わば0と1で管理されていてその何がしらの命令で、動くのです。

がままはベーシックの命令しか知らないけれど、命令文(英語のスペルとか)のなかには。言語、と言うのがあるらしく。ベーシック、マシン語JavaJavaScriptC言語、他さまざま、使う言葉の使い方があるようで。ベーシックはがままが知ってるけど、ポケコンとか、FM-7とかなどに使われます。一番初歩的なイメージがありますが…。今はC言語辺りから勉強する人もいるかもしれません。がままとしてはベーシックの言語を知るとプログラムのことが少し分かる気がしてますね。

ベーシックのことで知ってること。命令文など英語のスペルを知るといい。意味としては、最初には画面を消すこと(初期化)CLSの言葉、配列変数(がままも良く意味が分かっていませんが)に使うDIMや、一定のサークルを繰り返して選んだりする?FORとNEXT。表示したいところを表すLOCATEと表示することの意味のPRINTや、もしもの意味の(コンピューターはもしも◯◯だったらこうする、が多い気がします)IF、その時もしもの場合だったらと言う意味のTHEN、そして命令の順番をさかのぼるGOTOがあります。他にもありますががままには難しくて使い分けがあまりできません!あとまだあった。K$=INKEY$と言う命令文、それと、と言う意味のANDですね。それとかFORとTOの組み合わせで使う…(もう訳分からなくなってきた)。

まあ、がままにはこれくらいしか命令文は知りません。それに、アルファベットの文字とか(変数など)、=(イコール)や、:(コロン)とか、勿論()(カッコ)とか、,(何コロン?)とか、"  "(セミコロン?)とか大小記号(ケータイにありません!書けない)などを組み合わせて書きます。(命令文を。)

良く分からないかもしれませんが、この命令文は順番が大切で、書いた命令の順に実行されます。命令文の前にはだから、100とか110とか120とか(がままはこうやっている。)数字の番号を書きます。だからGOTOの時に命令として数字で管理されているから戻れるのです。

でもがままとしてはこれがほぼ限界だけど、書いておきますが、命令文を書くにあたって、順番としては。
まず
画面を消して初期化する。→位置関係をしっかりする、管理する命令。→何がどう動くかの命令が柔軟にできるための変数の設置。→乱数でどこに決めるかなどのサイコロ状態に持っていく。→それが座標のどこに表示されるか位置を設定。→表示のための命令。→その他ゲームがどう進んでいくか(はしょりました)。→ボタンの押したり押さなかったりで上に動いたり右に動いたりの命令、パイプ?みたいなもの。→こうなったときの、その時の命令文。→勿論主人公の設定。(これは早くやるべきです)→時間が来たときに終わるとか、どうなるかとかの命令。→こうなったとき点数が入るかとかの命令。→そしてこうなったときまた最初の命令の方に行きます的な命令文。→こうなったときにゲームオーバーと言う命令文。→こうなったときゲームクリアと言う命令文。


はぁ。(ーдー)。疲れました。がままはこれくらいしか認識ありません。イコールや、スペルの組み合わせも初歩的なことのなかの初歩的なことしかわかりません。まあ、この程度です。(説明のなかに違うところがいくつかあったと思います。すみません)

今、ベーシックでもぐらたたきを作れ、と言われたらこんなのしか浮かびません。

100 CLS
110 RUN(乱数のつもり、これはさっき書くの忘れてた)=9
120 FOR9=TO1
130 K$=INKEY$
140 INKEY$=1TO9
150 IF INKEY$=1TO9
160 A=1TO9
170 IF A=INKEY$ THEN LOCATE(X,Y)
180 (X,Y)=PRINT A

……?!?!あわわわ…。分からなくなってきた!てか、CLSからぜんぜん合ってないよね?!あるがが見たら悲愴感丸出しだ!ぜんぜん分かっていない。めちゃくちゃだ。(と、自覚はあります。)

初期化して、ランダムでもぐらを出してそれを打つボタンの命令をしたつもりなんだけど…。(その後の命令は分からなくなって書くのをやめました)

まあ、素人がやるとこうなるんですよ。ぜんぜん支離滅裂です。何がしたいんだかわからんな。
と、がままはさわりしか、知らないのです。でもこのくらいのやり方かなぁなんて、ちょっと思ってるんです。
あるがのJavaScriptの命令文の説明は聞けば意味が分かるしなんだけど、自分で作れ、と言われたらこれくらいしか浮かばないし、これ、プログラムとして動きません!完璧に間違ってます!


そんな感じで…。(シュンっ!!)ダメです。がままには、もぐらたたきのゲームひとつ作れません。

まあ、今日はプログラムのことについてがままが知ってることをブログで書くよ。と言ったその言葉を聞いて、安心して眠ってくれるあるががいることが安心さしてもらえます。間違ってもいいですよ、的な。

こんなくだらないことをあるがには面白がって聞いてもらえて。がままは運がいいですね!

今日書いたことは参考にならないので無かったことにしてください。がままのたわごとですから。

何の関係もないかもですが、絵を貼りつけておきます。ゲームと何らか関係があったらいいなぁ。