●かにしの編 その3 ラベルとフラグと選択肢
ようやっとほぼ読み終えてフラグ実装。
"<="なのか"<"なのか、はたまた">"なのか微妙なところもありますが、
テストプレイしながら直していこうかと。
とりあえず通常のフラグは"flag_xx"、グローバルは"gflag_xx"と置換しました。
1.txtの作成が終わったら、*define節用にシナリオからフラグ(変数)を拾います
open (IN, "1.txt");
open (OUT,">num.txt");
$gloval = 201;
$user = 11;
%flag;
while ( $line = <IN> ){
if ( $line =~ /\%(g[a-zA-Z_0-9]*)/ ){
if (( $flag{$1} != 1 ) && ( $1 ne "" )){
print OUT "numalias $1,$gloval\n";
$gloval++;
$flag{$1} = 1;
}
}elsif( $line =~ /\%([a-zA-z][a-zA-Z_0-9]*)/ ){
if (( $flag{$1} != 1 ) && ( $1 ne "" )){
print OUT "numalias $1,$user\n";
$user++;
$flag{$1} = 1;
}
}
}
close IN;
close OUT;
初出の変数を拾って、通常のものは"11"から、グローバルは"201"から numalias で定義
numalias gflag_c6,201 numalias gflag_f0,202 numalias flag_10,11 numalias flag_0f,12 numalias flag_05,13 numalias flag_11,14 numalias flag_06,15 numalias flag_07,16 numalias flag_01,17 numalias flag_03,18 numalias flag_08,19 numalias flag_09,20 numalias flag_0a,21 numalias gflag_f8,203 numalias flag_12,22 numalias flag_02,23 numalias gflag_f6,204 numalias gflag_f2,205 numalias gflag_f4,206 numalias gflag_f5,207 numalias gflag_f3,208 numalias flag_04,24 numalias gflag_f7,209
これを *define節に貼り付けてやれば完了です。
選択肢は
elsif ( $line =~ /^%00%02%02%00(?:%[0-9A-Fa-f][0-9A-Fa-f]){2}(.*?)%00(?:%[0-9A-Fa-f][0-9A-Fa-f]){3}%07(.*?)%00(?:%[0-9A-Fa-f][0-9A-Fa-f]){2}(.*?)%00(?:%[0-9A-Fa-f][0-9A-Fa-f]){3}%07(.*?)%00/ ){
$sel1 = $1;
$goto1 = $2;
$sel2 = $3;
$goto2 = $4;
$sel1 =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("H2", $1)/eg;
$sel2 =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("H2", $1)/eg;
$goto1 =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("H2", $1)/eg;
$goto2 =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("H2", $1)/eg;
print OUT "select \"$sel1\",\*$goto1,\"$sel2\",\*$goto2\n";
}
こんな感じ。変数の使い方が汚いのはご勘弁。
今はNスクデフォルトの "select" を使ってますが、車輪の国などのように
選択肢ウインドウ+文字スプライトのボタン化をすると原物に近づきます。
でも、車輪は単純な "select" じゃ実装出来なかったんですが、これは別に支障ないからなぁ…
ラベル、これはファイル名(拡張子なし)そのままでいいので楽ちんです
と、いうことで曲がりなりにも通しプレイ可能な状態となりました。
適当に暫定公開して、今後は随時演出強化の方向で行ってみたいと思います。
でもONSじゃ拡大・縮小は無理っぽい。大声とかで文字を大きくする演出も当面難しそうです
6/25追記)
>拡縮
と思ったら、ONSでも"drawbg2"が使える模様。Yu--Sさま感謝
"lsp2"が未対応だから、てっきりこちらもアウトかと…
かにしのタスクリストに追加です。不具合が治れば