[[さばとたんと遊ぼうIndex]]

3.さばとと変数

(・・・魚類準備中・・・)
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
ほな準備も整ったし本日の講座をはじめましょか。取り敢えず神さんは昨日のLuaに何か不満ありまへんか?
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_10.png,around,left)
ん、特にないがの。わかりやすいし、出てくる言葉はすばらしいし。
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
そ、そういうことやなくて、『なにやっても出てくる文字変わらんのやったらわざわざLua使う意味ないやんけ!』とかなんか思わんか?
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_8.png,around,left)
確かにボタンを押してもウンともスンともいわんのはつまらんの。ポチッと押すとビームが出たり爆発したりワープしたりするようなのはできんのかの?
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
スマンけどそない派手なんはまだお預けや。そもそも爆発とかワープとかはLuaつこうても無理やで。
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_2.png,around,left)
なんじゃと?最近(検閲削除)の方の木瓜庵の実験場とやらから爆発音がしょっちゅうするんじゃが、アレはLuaとは関係無いんかの
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
爆発音でかっか、某は知りまへんなぁ。そんなことよりビームは出へんけど今日の分の教材あるから、昨日みたいに打ち込んで下さいな。あ、今日は名前を『Lua2.rcd』にしてな。
#clear
#codeprettify{{
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 }
}}
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_4.png,around,left)
主もしらんのか。それでは今度やる祭りのポスター用の写真を木瓜庵に頼むときにでもそれとなく聞いてみようかの。ともかくこれを打ち込めばいいのじゃな。
#clear
(…少女入力中…)
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
入力終わりはったら・・
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_6.png,around,left)
分かっておる。昨日のように『Lua2.rcd』を『Open Chips』から開けばよいのじゃろ?
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
さすが神さん、物わかりがはやいのぉ
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_7.png,around,left)
ほう、ほう、見事に鯖が増えていくの。で、鯖を増やしておるのはどこなんじゃ?
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
その質問、まっとったわ。ホント神さんは質問上手や。鯖の数を変えとるのは3行目の『SabaCount = 0;』と9行目の『SabaCount = SabaCount + _KEYDOWN(4);』やな。前者でファイルを開いたときとかU/Rを押したときの最初の鯖の数を設定しとる。んで、後者がZのキーを押すたびに鯖を一尾増やしとるところやな
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_1.png,around,left)
む、昨日の話じゃと『function OnFrame()〜end』のおまじないの中に全部書かないといけないんではないのかの?その割には3行目のは外に出とるが。
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
ちゃうちゃう><。おまじない云々はどこかに一カ所書いてあればええんや。
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_9.png,around,left)
なんかだまされたような気がするがの。そんなことより3行目は鯖の数を設定しておると申すがどうしてそうなるのかの。『SabaCountは0と等しい』とよめるのじゃが。
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
アレ、言うてへんかったっけ。Luaでは『等しい』ことを表すのは『=』やのうて『==』なんや。ついでに言うと『≠』は『~=』やな。ほんで、『=』は代入の記号や。
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_3.png,around,left)
だい・・にゅう・・?大乳とな?妾の前でそのような言葉を口にするとはそんなに捌かれたいのかの
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
NONONO。誤解デース。私言ッタノ『代入』ネ。左辺ノ値ニ右辺ノ値ヲ入レルコトネ。某はずっと神さんは今の体型やから可愛いと思うとるで。
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_1.png,around,left)
なにやら気になる言い方じゃがまぁよい。それで、結局この3行目は『SabaCountに0を入れる』で良いのかの
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
ああ、それでええ。んで、そうやって値を入れられるモノを『変数(Variable)』と呼ぶんや。代入するときの左辺にこれるのは変数だけやから気つけてな。逆に右辺に変数があるときは、その中身の数字と同じようにあつかわれるんやけどな。まぁ後で詳しく説明するわ。
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_7.png,around,left)
ふむふむ。ではこれをいじれば、最初から鯖100尾とかも出来るのじゃな
#clear
#codeprettify{{
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 }
}};
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
あともう一つ大事なんは、この代入は例のおまじないの外にあるから、ファイル開いたときとかU/R押したときとかに一度だけ実行されて、後は二度と実行されないということや。試しに3行目のこれを『function OnFrame()』の次の行に移してみなはれ。こんな感じになるな。
#clear
#codeprettify{{
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 }
}};
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_9.png,around,left)
(少女改変中)。む、むーーー。何度Zを押しても鯖が増えんではないか。
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
それでええんや。『function OnFrame()〜end』は常に実行され続けてるから、9行目でなんぼ鯖の数増やしても、次に『SabaCount = 0;』を実行してまうから鯖の数が増えへん。
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_1.png,around,left)
徐々におまじないとやらの正体が明らかになってくるの。ところで例のスク水を着て神社往復するのはどういう仕組みなんじゃ?
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
いや、アレはタダの迷信やろ?
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_11.png,around,left)
!!、そうだったのかー。まぁスク水の売り上げもバカにならんからいいのじゃがな、なんか釈然とせんの。それはそうと実際に鯖が増える仕組みはどうなっとるんじゃ?『SabaCount = SabaCount + _KEYDOWN(4);』をみると1つめの『SabaCount』は代入の左辺にあるからこれに値を入れるんじゃろうが、右辺がよく分からぬ。
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
右辺はな、まず、『SabaCount』は今の鯖の数の数字の意味やろ?それで、『_KEYDOWN(4)』は、詳しい説明はまたそのうちになるんやけど今のところは『Zのキーを押した瞬間』だけ1,それ以外の時には0になると考えればええ。
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_1.png,around,left)
そうなると、Zを押した瞬間以外は『SabaCount = SabaCount + 0』となって鯖は増えぬが、Zを押したときは『SabaCount = SabaCount + 1』となって今の鯖の数より1尾だけ多い数がSabaCountに入るということかの?
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
さすが神さんや。その理解でOKや。
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_1.png,around,left)
ところで、鯖の数を表示するのに3行も使うのはうっとうしいんじゃがなんとかならんのかの?
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
それやったら、『..』を使こうて文字をくっつければよろしいがな。
こんな風にすればええな。..を使うとその左右の文字とか数字とかをくっつけられるんや。
#clear
#codeprettify{{
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 }
}};
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_10.png,around,left)
これは便利じゃの。もしかするとこの..の結果も変数に入るのかの?
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
ああ、やればできるで、こんな感じやな」
#clear
#codeprettify{{
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 }
}};
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_2.png,around,left)
え、ええっと、この場合はどうなるんじゃ?まずprintStrにさっきまで表示しとった文章が丸ごと入って、今度はそれを表示しとると考えれば良いのかの?
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
神さんやるのお。この調子やったら某が教えんでもええんとちゃうか?
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_7.png,around,left)
ふむ、そうなると主は味噌煮か押し寿司か。今までの講座のお礼に特別に選ばせてやるのじゃ。
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
あわわ、きっと次回からは難しくなりますから、英語もいっぱい出てきますから、ちゃんと聞かないとあかんと思うで
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_10.png,around,left)
そういうことならばいっそ、妾の抱き枕にならぬか?寝転がってTVみるときに主を腹の下に入れるとちょうど良さそうじゃ
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
そういうことやったら大歓迎や。ただ、某はかまわへんけどごろ寝でTVって神さんとしてどうなんやろ
#clear
#ref(さばとたんと遊ぼうIndex/sabato_icon_2.png,around,left)
妾は日本引きこもりなんとかにもちゃんと会費払っておるぞ?TVを見ることに文句はいわせぬ。
#clear
#ref(さばとたんと遊ぼうIndex/so_icon.png,around,left)
(モトから幼女だし良いのかな・・・)
#clear
[[前:さばとと初めてのLua>さばとたんとあそぼう_2]]:[[次:さばとともしかしたら>さばとたんとあそぼう_4]]

}}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS