///////// 文 ゴーストテンプレート ///////// メニュー処理辞書 ///////// copyright (C) 2002 umeici. //**** メインメニューの展開 ************************************************************* //---- メインメニュー展開 --------------------------------------------------------------- OpenMenu { if favorite <= -10 { "\1\s[10]\0" -- "\s[3]・・・なに?" -- "\n\n[half]/ \![*]\q[%(MENUITEM('なにか話して')),OnAiTalk]\n" -- if LastTalk != "" { "\![*]\q[%(MENUITEM('さっきのお話')),OnLastTalk]\n" } -- "\![*]\q[%(MENUITEM('しゃべり頻度を変えて')),ChoiceTalkInterval]\n/ \![*]\q[%(MENUITEM('なんでもない')),ChoiceCancel]\e" } elseif favorite >= -9 && favorite <= 29 { "\1\s[10]\0" -- "\s[0]はい?" "\s[0]なんですか?" -- "\n\n[half]/ \![*]\q[%(MENUITEM('なにか話して')),OnAiTalk]\n" -- if LastTalk != "" { "\![*]\q[%(MENUITEM('さっきのお話')),OnLastTalk]\n" } -- // "\![*]\q[%(MENUITEM('まめ知識')),ChoiceRabbitknowledge]\n" if 月齢_都道府県名 { "\![*]\q[%(MENUITEM('今日の月齢')),ChoiceMoonAge]\n" } -- "\![*]\q[%(MENUITEM('出来ること')),Choiceworks]\n/ \![*]\q[%(MENUITEM('しゃべり頻度を変えて')),ChoiceTalkInterval]\n/ \![*]\q[%(MENUITEM('いっしょに過ごした時間')),ChoiceHanayu]\n\n/ \![*]\q[%(MENUITEM('なんでもない')),ChoiceCancel]\e" } else { "\1\s[10]\0" -- "\s[5]はい?" "\s[5]なんですか?" -- "\n\n[half]/ \![*]\q[%(MENUITEM('なにか話して')),OnAiTalk]\n" -- if LastTalk != "" { "\![*]\q[%(MENUITEM('さっきのお話')),OnLastTalk]\n" } -- // "\![*]\q[%(MENUITEM('まめ知識')),ChoiceRabbitknowledge]\n" if 月齢_都道府県名 { "\![*]\q[%(MENUITEM('今日の月齢')),ChoiceMoonAge]\n" } -- "\![*]\q[%(MENUITEM('出来ること')),Choiceworks]\n/ \![*]\q[%(MENUITEM('しゃべり頻度を変えて')),ChoiceTalkInterval]\n/ \![*]\q[%(MENUITEM('いっしょに過ごした時間')),ChoiceHanayu]\n\n/ \![*]\q[%(MENUITEM('なんでもない')),ChoiceCancel]\e" } } //---- メニュー項目の後ろにスペースを補完する関数 MENUITEM { _menuitem = _argv[0] _menuitem += SUBSTR(" ",0,46-GETSTRBYTES(_menuitem)) _menuitem } //---- OnChoiceSelectイベント ----------------------------------------------------------- //OnChoiceSelectイベント関数は、全て頭にChoiceとつける(私が分かるように) OnChoiceSelect { EVAL(reference0) } //---- アンカー辞書 -------------------------------------------------- OnAnchorSelect { EVAL(reference0) } //**** メニュー項目選択 ***************************************************************** //---- 今日の月齢 ----------------------------------------------------------- ChoiceMoonAge { _lon = 月齢_経度; // 経度 _lat = 月齢_緯度; // 緯度 _alt = 0.0; // 標高 _str += '\0\s[5]' _result = FUNCTIONEX("koyomi.dll", "instant", _lon, _lat, _alt, year, month, day, hour, minute, second ) // わざわざ "_result = …" と使いもしない変数に読み込ませるのは、 // "Result: ほげほげ[CRLF]" の部分の文字列が返されるのを防ぐため。 _str += '今の月齢は、\w5' + valueex5 + 'だね。' if valueex4 > 0 // 月は出ている { _str += '\w8\w8\1\s[10]' } else // 月は出ていない。 { _str += '\w8\w8\1\s[12]' } _ma = 鬱陶しいThe_state_of_the_moon( valueex5, valueex7 ) // "新月", "三日月", "上弦" など、月の状態を表す名前があれば返ってくる。 // _ma: Moon Age if _ma { _str += _ma + 'ですね。\w5\n' } if valueex4 > 0 // 月は出ている { _str += 'ちなみに現在月は出ています。' } else // 月は出ていない。 { _str += 'ちなみに現在月は沈んでいます。' } _str += '\e' _str } 時計式表示 { _str = ''; if ( _argv[0] < 10 ) _str += '0'; _str += TOSTR( _argv[0] ) + ':'; if ( _argv[1] < 10 ) _str += '0'; _str += TOSTR( _argv[1] ); if ( _argv[0] == -1 ) _str = '該当なし'; if ( _argv[0] == -2 || _argv[1] == -2 ) _str = 'エラー'; _str; } The_state_of_the_moon { if _argv[0] <= 0.2 || _argv[0] >= 29.8 { "新月だよ。" } elseif _argv[0] <= 2 { "三日月だよ。" } elseif _argv[0] >= 13.8 && _argv[0] <= 15.8 { "満月だよ。" } elseif _argv[0] > 15.8 { "下弦の月だよ。" } else /*if _argv[0] < 13.8*/ { "上弦の月だよ。" } } //---- トーク頻度の調整 --------------------------------------------------------- ChoiceTalkInterval { "\0\s[0]どのくらいがいい?\n\n/ \q[%(MENUITEM('うるさいくらい')),ChoiceTalkMax]\n/ \q[%(MENUITEM('ふつう')),ChoiceTalkNormal]\n/ \q[%(MENUITEM('のんびり')),ChoiceTalkPoor]\n/ \q[%(MENUITEM('黙ってて')),ChoiceTalkNone]\e" } //---- トーク頻度 ChoiceTalkMax { //---- うるさく話す(15秒間隔) aitalkinterval = 15 "\0\s[5]わかった。\w5張り切っていくね。\e" } ChoiceTalkNormal { //---- ふつうに話す(2分間隔) aitalkinterval = 120 "\0\s[0]普通?\e" } ChoiceTalkPoor { //---- のんびり話す(5分間隔) aitalkinterval = 300 "\0\s[0]のんびり?\e" } ChoiceTalkNone { //---- 話さない aitalkinterval = 0 "\0\s[4]はい、静かにしてます。\e" } //---- 直前のトーク再現 ------------------------------------------------------------------------- OnLastTalk { "\0\s[0]さっきの話? \w5えーと・・・\w9\w9\w9\c/ %LastTalk" } //---- 一緒にいました時間 --------------------------------------------------------- ChoiceHanayu { "\1\s[10]一週間分の起動時間をグラフ表示します。\w8\w8\![raise,OnCallHanayu]\n\n閉じたいときは、\nグラフをダブルクリックしてください。\e" } //---- キャンセル --------------------------------------------------------- ChoiceCancel { "\0\s[0]ん。\e" "\0\s[0]はいはい。\e" } //---- メニュー選択タイムアウト --------------------------------------------------------- OnChoiceTimeout { "\0\s[7]優柔不断だなー。\e" }