官能小説自動生成ソフト七度文庫CGI版ソースコード解説
メインCGIソースコード
CGIソースコードは量が多すぎて一ファイルでは実行できないため、8つに分割されている。
オリジナルの七度文庫では服装、場所、人名などが多数ランダムに生成されるが、CGI版では容量の制限のため設定は一通りに固定されている。
メインのCGIは7th_index.cgiで、これが個別のCGIをランダムに呼び出している。
7th_index.cgi
個別CGIソースコード
個別のCGIは実行が終わると再度7th_index.cgiを呼び出して再起動する。
7thcgi_hito_1.cgi
7thcgi_hito_2.cgi
7thcgi_hito_3.cgi
7thcgi_hito_4.cgi
7thcgi_hito_5.cgi
7thcgi_hito_6.cgi
7thcgi_hito_7.cgi
7thcgi_hito_8.cgi
ソースコードはシフトJISで記述されていて、出力されるhtmlファイルもシフトJISである。
制御記号¥が自動的にソースコードに追加されている。
ソースコード第一行目はCGIの規定により、実行を行うPERLのパス名を設定する。
この設定を行わないとCGIは実行できない。
関数名、変数名などはファイルの容量を節約するために一文字のみを使用している。
文字vは連想変数に用いる。
文字hは連想配列で定義された変数の内容を出力するサブルーチンである。
連想配列が定義されていればその内容を出力する、定義されていなければ連想配列の添え字を出力する。
文字tは、シナリオ文章を表示するサブルーチンでシナリオの番号を示す数字が後に続く。
文字nは改行コードを出力するサブルーチンである。
分岐はCGIのソースコードに直接展開される。
r_tは乱数の実数、
i_tは乱数の整数を表す。
文字zはシナリオの禁止フラグを表す連想配列である。
シナリオの番号はKNから始まる数字で表す。
禁止フラグが立っているシナリオは実行しない。
分岐でも禁止フラグの立っているシナリオは除外される。
個別CGI七度言語ソースコード
個別のCGIは七語言語で記述されたソースコードを元にしてプログラムを使ってCGIのソースコードに自動変換している。
ファイルはそれぞれに共通部分と個別の部分をつなぎ合わせてある。
7th_hito_r1.7th
7th_hito_r2.7th
7th_hito_r3.7th
7th_hito_r4.7th
7th_hito_r5.7th
7th_hito_r6.7th
7th_hito_r7.7th
7th_hito_r8.7th