さばとたんと遊ぼうIndex

3.さばとと変数

(・・・魚類準備中・・・)

so_icon.png

ほな準備も整ったし本日の講座をはじめましょか。取り敢えず神さんは昨日のLuaに何か不満ありまへんか?

sabato_icon_10.png

ん、特にないがの。わかりやすいし、出てくる言葉はすばらしいし。

so_icon.png

そ、そういうことやなくて、『なにやっても出てくる文字変わらんのやったらわざわざLua使う意味ないやんけ!』とかなんか思わんか?

sabato_icon_8.png

確かにボタンを押してもウンともスンともいわんのはつまらんの。ポチッと押すとビームが出たり爆発したりワープしたりするようなのはできんのかの?

so_icon.png

スマンけどそない派手なんはまだお預けや。そもそも爆発とかワープとかはLuaつこうても無理やで。

sabato_icon_2.png

なんじゃと?最近(検閲削除)の方の木瓜庵の実験場とやらから爆発音がしょっちゅうするんじゃが、アレはLuaとは関係無いんかの

so_icon.png

爆発音でかっか、某は知りまへんなぁ。そんなことよりビームは出へんけど今日の分の教材あるから、昨日みたいに打ち込んで下さいな。あ、今日は名前を『Lua2.rcd』にしてな。

1 VAL{}KEY{}BODY{CORE(){} }
2 Lua{
3 	SabaCount = 0;
4 	function OnFrame()
5 		out(0, "奉納された鯖の数は");
6 		out(1, SabaCount);
7 		out(2, "匹");
8 		out(3, "Zキーで鯖を奉納するよ!");
9 		SabaCount = SabaCount + _KEYDOWN(4);
10 	end
11 }
sabato_icon_4.png

主もしらんのか。それでは今度やる祭りのポスター用の写真を木瓜庵に頼むときにでもそれとなく聞いてみようかの。ともかくこれを打ち込めばいいのじゃな。

(…少女入力中…)

so_icon.png

入力終わりはったら・・

sabato_icon_6.png

分かっておる。昨日のように『Lua2.rcd』を『Open Chips』から開けばよいのじゃろ?

so_icon.png

さすが神さん、物わかりがはやいのぉ

sabato_icon_7.png

ほう、ほう、見事に鯖が増えていくの。で、鯖を増やしておるのはどこなんじゃ?

so_icon.png

その質問、まっとったわ。ホント神さんは質問上手や。鯖の数を変えとるのは3行目の『SabaCount? = 0;』と9行目の『SabaCount? = SabaCount? + _KEYDOWN(4);』やな。前者でファイルを開いたときとかU/Rを押したときの最初の鯖の数を設定しとる。んで、後者がZのキーを押すたびに鯖を一尾増やしとるところやな

sabato_icon_1.png

む、昨日の話じゃと『function OnFrame?()〜end』のおまじないの中に全部書かないといけないんではないのかの?その割には3行目のは外に出とるが。

so_icon.png

ちゃうちゃう><。おまじない云々はどこかに一カ所書いてあればええんや。

sabato_icon_9.png

なんかだまされたような気がするがの。そんなことより3行目は鯖の数を設定しておると申すがどうしてそうなるのかの。『SabaCount?は0と等しい』とよめるのじゃが。

so_icon.png

アレ、言うてへんかったっけ。Luaでは『等しい』ことを表すのは『=』やのうて『==』なんや。ついでに言うと『≠』は『~=』やな。ほんで、『=』は代入の記号や。

sabato_icon_3.png

だい・・にゅう・・?大乳とな?妾の前でそのような言葉を口にするとはそんなに捌かれたいのかの

so_icon.png

NONONO。誤解デース。私言ッタノ『代入』ネ。左辺ノ値ニ右辺ノ値ヲ入レルコトネ。某はずっと神さんは今の体型やから可愛いと思うとるで。

sabato_icon_1.png

なにやら気になる言い方じゃがまぁよい。それで、結局この3行目は『SabaCount?に0を入れる』で良いのかの

so_icon.png

ああ、それでええ。んで、そうやって値を入れられるモノを『変数(Variable)』と呼ぶんや。代入するときの左辺にこれるのは変数だけやから気つけてな。逆に右辺に変数があるときは、その中身の数字と同じようにあつかわれるんやけどな。まぁ後で詳しく説明するわ。

sabato_icon_7.png

ふむふむ。ではこれをいじれば、最初から鯖100尾とかも出来るのじゃな

1 VAL{}KEY{}BODY{CORE(){} }
2 Lua{
3 	SabaCount = 100;
4 	function OnFrame()
5 		out(0, "奉納された鯖の数は");
6 		out(1, SabaCount);
7 		out(2, "匹");
8 		out(3, "Zキーで鯖を奉納するよ!");
9 		SabaCount = SabaCount + _KEYDOWN(4);
10 	end
11 }
so_icon.png

あともう一つ大事なんは、この代入は例のおまじないの外にあるから、ファイル開いたときとかU/R押したときとかに一度だけ実行されて、後は二度と実行されないということや。試しに3行目のこれを『function OnFrame?()』の次の行に移してみなはれ。こんな感じになるな。

1 VAL{}KEY{}BODY{CORE(){} }
2 Lua{
3 	function OnFrame()
4 		SabaCount = 0;
5 		out(0, "奉納された鯖の数は");
6 		out(1, SabaCount);
7 		out(2, "匹");
8 		out(3, "Zキーで鯖を奉納するよ!");
9 		SabaCount = SabaCount + _KEYDOWN(4);
10 	end
11 }
sabato_icon_9.png

(少女改変中)。む、むーーー。何度Zを押しても鯖が増えんではないか。

so_icon.png

それでええんや。『function OnFrame?()〜end』は常に実行され続けてるから、9行目でなんぼ鯖の数増やしても、次に『SabaCount? = 0;』を実行してまうから鯖の数が増えへん。

sabato_icon_1.png

徐々におまじないとやらの正体が明らかになってくるの。ところで例のスク水を着て神社往復するのはどういう仕組みなんじゃ?

so_icon.png

いや、アレはタダの迷信やろ?

sabato_icon_11.png

!!、そうだったのかー。まぁスク水の売り上げもバカにならんからいいのじゃがな、なんか釈然とせんの。それはそうと実際に鯖が増える仕組みはどうなっとるんじゃ?『SabaCount? = SabaCount? + _KEYDOWN(4);』をみると1つめの『SabaCount?』は代入の左辺にあるからこれに値を入れるんじゃろうが、右辺がよく分からぬ。

so_icon.png

右辺はな、まず、『SabaCount?』は今の鯖の数の数字の意味やろ?それで、『_KEYDOWN(4)』は、詳しい説明はまたそのうちになるんやけど今のところは『Zのキーを押した瞬間』だけ1,それ以外の時には0になると考えればええ。

sabato_icon_1.png

そうなると、Zを押した瞬間以外は『SabaCount? = SabaCount? + 0』となって鯖は増えぬが、Zを押したときは『SabaCount? = SabaCount? + 1』となって今の鯖の数より1尾だけ多い数がSabaCount?に入るということかの?

so_icon.png

さすが神さんや。その理解でOKや。

sabato_icon_1.png

ところで、鯖の数を表示するのに3行も使うのはうっとうしいんじゃがなんとかならんのかの?

so_icon.png

それやったら、『..』を使こうて文字をくっつければよろしいがな。 こんな風にすればええな。..を使うとその左右の文字とか数字とかをくっつけられるんや。

1 VAL{}KEY{}BODY{CORE(){} }
2 Lua{
3 	SabaCount = 0;
4 	function OnFrame()		
5 		out(0, "奉納された鯖の数は"..SabaCount.."匹");
6 		out(3, "Zキーで鯖を奉納するよ!");
7 		SabaCount = SabaCount + _KEYDOWN(4);
8 	end
9 }
sabato_icon_10.png

これは便利じゃの。もしかするとこの..の結果も変数に入るのかの?

so_icon.png

ああ、やればできるで、こんな感じやな」

1 VAL{}KEY{}BODY{CORE(){} }
2 Lua{
3 	SabaCount = 0;
4 	function OnFrame()
5 		printStr = "奉納された鯖の数は"..SabaCount.."匹"
6 		out(0, printStr);
7 		out(3, "Zキーで鯖を奉納するよ!");
8 		SabaCount = SabaCount + _KEYDOWN(4);
9 	end
10 }
sabato_icon_2.png

え、ええっと、この場合はどうなるんじゃ?まずprintStrにさっきまで表示しとった文章が丸ごと入って、今度はそれを表示しとると考えれば良いのかの?

so_icon.png

神さんやるのお。この調子やったら某が教えんでもええんとちゃうか?

sabato_icon_7.png

ふむ、そうなると主は味噌煮か押し寿司か。今までの講座のお礼に特別に選ばせてやるのじゃ。

so_icon.png

あわわ、きっと次回からは難しくなりますから、英語もいっぱい出てきますから、ちゃんと聞かないとあかんと思うで

sabato_icon_10.png

そういうことならばいっそ、妾の抱き枕にならぬか?寝転がってTVみるときに主を腹の下に入れるとちょうど良さそうじゃ

so_icon.png

そういうことやったら大歓迎や。ただ、某はかまわへんけどごろ寝でTVって神さんとしてどうなんやろ

sabato_icon_2.png

妾は日本引きこもりなんとかにもちゃんと会費払っておるぞ?TVを見ることに文句はいわせぬ。

so_icon.png

(モトから幼女だし良いのかな・・・)

前:さばとと初めてのLua:次:さばとともしかしたら

}}


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-05-16 (日) 21:52:13