昨晩、キチェ語の初日のクラスに行った。初級からの筈だったけど、キチェ語をある程度話すことがバレて少し上のレベルに。結果としていきなり単語数が100以上に。プログラム用の辞書に入力する単語が増えると、複雑になってしまうなぁ。
取り敢えずプログラムの第一弾。プログラムの名前は会話を意味する「Tzijonik」とした。この単語も授業で出たので利用することに。初めてRubyで書いたプログラム。とはいえ、「恋するプログラム」のサンプルを基にしてるけれど。これをJavaでも作成しないと。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
class Responder def initialize(name) @name = name end def response(input) return "Jas #{input}?" end def name return @name end end class Tzijonik def initialize @responder = Responder.new('Kotzij') end def dialogue(input) return @responder.response(input) end def responder_name return @responder.name end end def prompt(kotzij) return kotzij.responder_name + '>' end flor = Tzijonik.new puts('Tzijonik: Version 1.0 (20170503)') currentTime = Time.now #get the current time hour = currentTime.hour if hour < 3 && hour > 12 then saludo = 'Saqarik' elsif hour >= 12 && hour < 18 then saludo = 'Xe\'q\'ij' else saludo = 'Xokaq\'ab\'' end puts(prompt(flor) + saludo) puts(prompt(flor) + 'In al Kotz\'ij') while true print('>') input = gets input.chomp! break if input == '' response = flor.dialogue(input) puts(prompt(flor) + response) end |
プログラム自体は単純。Kotz’ijは礼儀正しい子なのでまずは挨拶。それから自己紹介。その後は入力された文字列に対し「何(Jas)?」と聞き返すだけ。なお、挨拶はプログラム開始時間に合わせることとした。
おはようはSaqarik
こんにちははXe’q’ij
こんばんははXokaq’ab’
さてここからKotz’ijはどんな成長をするかな。