忍者ブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

里々で再インストールイベント・ユーザに分岐を悟らせない再読機能を付けてみた

(※この記事は拙作「電子世界の虚像」の辞書の中身について触れています。ご注意ください)
前回の続きである。
拙作「電子世界の虚像」では、再インストールイベントを用意している。
再インストールイベントも再読機能の中に入れたい。しかし、拙作では初回起動イベントに分岐・再読フラグを仕込んでいる為、初回起動イベントを通らないままだと初回起動イベントの再読が途中で止まってしまう。どうすれば良いか。

ひとまず、再インストールイベントの方で再読機能が使えるように、変数でフラグを管理する事にする。
再インストールイベントそのものは用意してある事だろうと思うので、再インストールイベントの再読用変数を設定しよう。今回は「再インストールイベント再読」ぐらいにしておいて、これを設定する。回想機能から帰還する時の処理「>回想終了」も忘れずに。

*再インストールイベント
$再インストールイベント再読【タブ】1
:トーク内容〜
>回想終了【タブ】(回想)==1

さて、再インストールイベントに変数の設定が終わったら、次に作るのは「再インストールイベントを読んだ時は初回起動イベントを選べず、再インストールイベントが選べるようにする」処理である。これの処理は難しくはない。
ここで出てくるのはwhenlist関数で、要は「再インストールイベント再読」が1の時(=再インストールイベントを読んだ時)に、初回起動イベントが表示されないようにすれば良いのである。
記述は以下の通りである。

\![*](whenlist、(再インストールイベント再読)==、1、\q[再インストールイベント,再読開始処理]、\q[初回起動,再読開始処理])

これで再インストールイベントを読んだ事がある場合には初回起動イベントが再読できなくなるようになった。



また、拙作では、季節イベントについての発生時、条件付きで分岐している。例えば「正月になった場合、日中の起動と夜間の起動でイベント内容が変わる」といった場合である。その場合は、再読メニューには分岐の有無を悟らせたくない、と個人的に思う。
ではこの「同じ日付イベントでありながら起動時で内容が変わる」かつ「分岐の有無をユーザに知らせない」場合の再読機能はどうすれば良いだろうか。

まず「(選択ラベル)」で飛ばす内容を考える。つまりは「\q[(イベント名),回想開始処理]」のイベント名部分である。今回は無難に「正月」という事にしておこう。そして、分岐先を「正月A」「正月B」にする。
そして「正月A」と「正月B」に前述のように適当に変数を設定してそれぞれ入れる。
仮に「正月イベント再読A」「正月イベント再読B」にする。

*正月A
:トーク内容~
$正月イベント再読A【タブ】1

*正月B
:トーク内容~
$正月イベント再読B【タブ】1

次に「*正月」イベントに条件式を設定してジャンプさせる。

*正月【タブ】(正月イベント再読A)==1
>正月A

*正月【タブ】(正月イベント再読B)==1
>正月B

さて、再読機能の方に戻る。
「正月イベント再読A」もしくは「正月イベント再読B」が1になっている時、「正月」ボタンを表示させる。
そして、「正月イベント再読A」と「正月イベント再読B」が1になっている時、「正月A」「正月B」両方を読めるようにしたい。どうするか。
やはり相変わらず出てくるのがwhenlist関数、新たに加わるのがcalc関数、そして(変数「〇〇」の存在)である。
つまりは(変数「〇〇」の存在)で、当該変数が存在する=読んだ事がある事を判定し、それをcalc関数で足す事により、「片方だけ読んだ」「両方を読んだ」を判定する事にした。
色々長々と言ったが、実際の記述は以下になる。

\![*](whenlist、(calc,(変数「正月イベント再読A」の存在)+(変数「正月イベント再読B」の存在))==、1、\q[正月,再読開始処理]、2、\q[正月A,再読開始処理] / \q[正月B,再読開始処理]、未読イベント)

これによって、ユーザがイベントの片方だけを読んだ場合に、分岐の存在を悟らせずに再読機能を遂行できるという訳である。
PR
Comment
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
コメントの修正にはpasswordが必要です。任意の英数字を入力して下さい。
Clear