ぶら:
前置きっていうのは、色とか設定したところだね?
小梅:
そうそう。
CGIを動かすための約束事が最初に並ぶのね。
■L1-367は全部前置きです。
たとえば■L34。
この$マークのついているものはすべて変数というものなのね。
$bgcolor = '#FFFFFF'; # 背景色
これは、$bgcolor(変数)に#FFFFFFという色の数値を入れたよ(代入)という意味なのね。
だから、この前置きをした後は
<body bgcolor=#FFFFFF>
と
<body bgcolor = $bgcolor>
は同じことになるの。ほら、■L356を見て。
ぶら:
なんでわざわざ置き換えるの?
小梅:
変更がしやすいからだよ。たとえば
$bgcolor = '#FFFFFF'; # 背景色
を
$bgcolor = '#FF00FF'; # 背景色
って替えれば、後から出てくるすべての$bgcolorが置き換わるじゃない。
ぶら:
なーるほど。
『前置き』部分ではたくさんの変数の設定をしてるってことだね。
小梅:
うん。スクリプトの途中でころころ中身が変わる変数もあるけど、ゲーム内では固定になってる変数を『前置き』のところで決めるのね。
ぶら:
確かに、前置きのところはみんな$だね。
あれ?■L121は$じゃなくて@だよ?
小梅:
それは配列っていって、変数の団体さんみたいなもんです。■L121-146にあるgif画像の名称をひとまとめにしてあるの。
ぶら:
@がついてるものは全部『配列』っていうんだね。
小梅:
そです。変数と配列を知らないと、CGIはわけわかんないからね。
さて、次にメインルーチンのプログラムがあります。
まあ、仕事の命令書ってとこかな。
PET ROOMで言うと、
・アクセスした時
・名前を入れてログインした時
・なでたり餌をやったりした時
・その他なんかユーザーがアクションを起こした時…
なんかに、何かクリックするでしょ?そのたびに毎回上から書かれた順に命令を実行します。
これがメインルーチン。
それとは別に、呼ばれた時だけ仕事をするのがサブルーチン。
簡単に言っちゃうと、
「誰が仕事をするか決める親分」がメインルーチン
「仕事をする子分」がサブルーチン
なのよね。
ぶら:
幻水的にいうと軍師と108星みたいなもんかしら。
小梅:
それだ。
メインルーチンってのは、■L368-384。
ただしL368からL371までは見やすくするためのコメントだし、L384は空行だから、正確にはL372からL383までの12行なんだけど。
ぶら:
たったこれだけ?
小梅:
うん。毎回必ず実行されるメインルーチンがする仕事はこれだけ。
サブルーチンとサブルーチンの間で仕事のやりとりがあるから、実際にはもっと複雑だけど。
ぶら:
でも、この12行の意味さっぱりだあ…