(defun get-date-string ()
(multiple-value-bind (sec min hour day month year)
(get-decoded-time) ;;
(format nil "~4,'0D-~2,'0D-~2,'0D" year month day)))
(defun fortunecookie ()
(format t "名前または学籍番号を入力:~%")
(let* ((id (read-line))
(date (get-date-string))
(key (concatenate 'string id date))
(seed (reduce #'+ (map 'list #'char-code key)))
(result (nth (mod seed 5)
'("大吉!挑戦を続けよう"
"中吉!今日は集中の日"
"小吉!まずは一歩"
"吉!粘り勝ちを目指そう"
"凶…でも明日がある!"))))
(format t "~%【~A の運勢 ~A】~%~A~%" id date result)))
(fortunecookie)
KGRlZnVuIGdldC1kYXRlLXN0cmluZyAoKQogIChtdWx0aXBsZS12YWx1ZS1iaW5kIChzZWMgbWluIGhvdXIgZGF5IG1vbnRoIHllYXIpCiAgICAgIChnZXQtZGVjb2RlZC10aW1lKSA7OyAKICAgIChmb3JtYXQgbmlsICJ+NCwnMEQtfjIsJzBELX4yLCcwRCIgeWVhciBtb250aCBkYXkpKSkKCihkZWZ1biBmb3J0dW5lY29va2llICgpCiAgKGZvcm1hdCB0ICLlkI3liY3jgb7jgZ/jga/lrabnsY3nlarlj7fjgpLlhaXlipvvvJp+JSIpCiAgKGxldCogKChpZCAocmVhZC1saW5lKSkKICAgICAgICAgKGRhdGUgKGdldC1kYXRlLXN0cmluZykpCiAgICAgICAgIChrZXkgKGNvbmNhdGVuYXRlICdzdHJpbmcgaWQgZGF0ZSkpCiAgICAgICAgIChzZWVkIChyZWR1Y2UgIycrIChtYXAgJ2xpc3QgIydjaGFyLWNvZGUga2V5KSkpCiAgICAgICAgIChyZXN1bHQgKG50aCAobW9kIHNlZWQgNSkKICAgICAgICAgICAgICAgICAgICAgICcoIuWkp+WQie+8geaMkeaIpuOCkue2muOBkeOCiOOBhiIKICAgICAgICAgICAgICAgICAgICAgICAgIuS4reWQie+8geS7iuaXpeOBr+mbhuS4reOBruaXpSIKICAgICAgICAgICAgICAgICAgICAgICAgIuWwj+WQie+8geOBvuOBmuOBr+S4gOatqSIKICAgICAgICAgICAgICAgICAgICAgICAgIuWQie+8geeymOOCiuWLneOBoeOCkuebruaMh+OBneOBhiIKICAgICAgICAgICAgICAgICAgICAgICAgIuWHtuKApuOBp+OCguaYjuaXpeOBjOOBguOCi++8gSIpKSkpCiAgICAoZm9ybWF0IHQgIn4l44CQfkEg44Gu6YGL5YuiIH5B44CRfiV+QX4lIiBpZCBkYXRlIHJlc3VsdCkpKQoKKGZvcnR1bmVjb29raWUpCg==