【コピペで作る】伺か 起動トークを今の時間や曜日で分岐させる。【yaya】

ukagaka

前回

【コピペで作る】伺か ゴーストに天気予報を教えてもらう。【yaya】 — 異風堂々

今回すること

  • 起動時のトークを今の時間で分岐させる
  • 起動時のトークを今の曜日で分岐させる
  • この二つをどちらかランダムで表示させる

起動時用の辞書ファイルを独立させる。

新しくdic_Hello.ukaを作成し、yaya.txtに登録しましょう。
【コピペで作る】うちの子を伺かのゴーストにする方法【yaya】 — 異風堂々で作った、dic_Boot.ukaの中にあるHelloWorld関数を消して
新しくdic_Hello.ukaに下記をコピペします

HelloWorld { 
    "今は%(hour)時だよ~" 
} 

ukagaka_when.png
yayaのシステム辞書には現在の曜日や時間などを取得する関数があります。
参考: システム辞書/yaya_shiori3.dic – AYAYA/03

時間を使った分岐をさせる。

このようにすると時間に対して分けることができます。

//変な書き方ですが後で拡張します。 
HelloWorld { 
    HelloComment() 
} 

//セリフは適当に挿入してください。 
HelloComment { 
    _h = TOINT( "%(hour)" ) 

    // 早朝 
    //5時もしくは6時ならば 
    if ( _h == 5 || _h == 6 ){ 
        "\0おはよう!\n早いんだね?" 

    //朝 
    } elseif ( _h == 7 || _h == 8 || _h == 9 || _h == 10 || _h == 11  ){ 

    //お昼 
    } elseif ( _h == 12 || _h == 13 ){ 

    //食後 
    } elseif ( _h == 14 ){ 

    //おやつ時 
    } elseif ( _h == 15 || _h == 16 ){ 

    //夕暮れ 
    } elseif ( _h == 17 || _h == 18 ){ 

    // 晩御飯 
    } elseif ( _h == 19 ){ 

    //作業時間 
    } elseif ( _h == 20 || _h == 21 || _h == 22 ){ 

    //そろそろ深夜 
    } elseif ( _h == 23 || _h == 24 || _h == 0 ){ 

    //それ以外の時間 
    } else { 
        _h 
    } 
} 

曜日について分岐させてみる

下記をdic_Hello.ukaに追記しましょう。

WeekComment { 
    //日曜 
    if ( weekday == 0 ) { 
        "今日はお休み?\nそれともお仕事?" 

    //月曜 
    } elseif ( weekday == 1 ) { 

    //火曜 
    } elseif ( weekday == 2 ) { 

    //水曜 
    } elseif ( weekday == 3 ) { 

    //木曜 
    } elseif ( weekday == 4 ) { 

    //金曜 
    } elseif ( weekday == 5 ) { 

    //土曜 
    } elseif ( weekday == 6 ) { 

    } 
} 

それから、HelloWorld関数からWeekCommentが呼ばれるように下記のように書き換えます。
これで起動時にどちらかが呼ばれるようになります。

HelloWorld { 
    HelloComment() 
    WeekComment() 
} 

次回

前回作成した天気情報を、その日初めて起動したときに自動で取得させてみたいと思います。
【コピペで作る】伺か 起動時に一緒に天気予報も教えてもらう。【YAYA】