(defun fortunecookie ()
(princ "名前または学籍番号を入力:")
(let* ((id (read-line))
;; 現在の日付(YYYYMMDD)を取得して文字列にする
(date-str (format nil "~4,'0d~2,'0d~2,'0d"
(+ 1900 (nth 5 (decode-universal-time (get-universal-time))))
(nth 4 (decode-universal-time (get-universal-time)))
(nth 3 (decode-universal-time (get-universal-time)))))
;; 入力と日付を結合
(combined (concatenate 'string id date-str))
;; 合計コードポイントをシードとして使用
(seed (reduce #'+ (map 'list #'char-code combined)))
;; 結果リスト
(result (nth (mod seed 5)
'("大吉!挑戦を続けよう"
"中吉!今日は集中の日"
"小吉!まずは一歩"
"吉!粘り勝ちを目指そう"
"凶…でも明日がある!"))))
;; 結果を表示
(format t "結果(~A):~A~%" date-str result)))
KGRlZnVuIGZvcnR1bmVjb29raWUgKCkKICAocHJpbmMgIuWQjeWJjeOBvuOBn+OBr+WtpuexjeeVquWPt+OCkuWFpeWKm++8miIpCiAgKGxldCogKChpZCAocmVhZC1saW5lKSkKICAgICAgICAgOzsg54++5Zyo44Gu5pel5LuY77yIWVlZWU1NRETvvInjgpLlj5blvpfjgZfjgabmloflrZfliJfjgavjgZnjgosKICAgICAgICAgKGRhdGUtc3RyIChmb3JtYXQgbmlsICJ+NCwnMGR+MiwnMGR+MiwnMGQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICgrIDE5MDAgKG50aCA1IChkZWNvZGUtdW5pdmVyc2FsLXRpbWUgKGdldC11bml2ZXJzYWwtdGltZSkpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgKG50aCA0IChkZWNvZGUtdW5pdmVyc2FsLXRpbWUgKGdldC11bml2ZXJzYWwtdGltZSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAobnRoIDMgKGRlY29kZS11bml2ZXJzYWwtdGltZSAoZ2V0LXVuaXZlcnNhbC10aW1lKSkpKSkKICAgICAgICAgOzsg5YWl5Yqb44Go5pel5LuY44KS57WQ5ZCICiAgICAgICAgIChjb21iaW5lZCAoY29uY2F0ZW5hdGUgJ3N0cmluZyBpZCBkYXRlLXN0cikpCiAgICAgICAgIDs7IOWQiOioiOOCs+ODvOODieODneOCpOODs+ODiOOCkuOCt+ODvOODieOBqOOBl+OBpuS9v+eUqAogICAgICAgICAoc2VlZCAocmVkdWNlICMnKyAobWFwICdsaXN0ICMnY2hhci1jb2RlIGNvbWJpbmVkKSkpCiAgICAgICAgIDs7IOe1kOaenOODquOCueODiAogICAgICAgICAocmVzdWx0IChudGggKG1vZCBzZWVkIDUpCiAgICAgICAgICAgICAgICAgICAgICAnKCLlpKflkInvvIHmjJHmiKbjgpLntprjgZHjgojjgYYiCiAgICAgICAgICAgICAgICAgICAgICAgICLkuK3lkInvvIHku4rml6Xjga/pm4bkuK3jga7ml6UiCiAgICAgICAgICAgICAgICAgICAgICAgICLlsI/lkInvvIHjgb7jgZrjga/kuIDmrakiCiAgICAgICAgICAgICAgICAgICAgICAgICLlkInvvIHnspjjgorli53jgaHjgpLnm67mjIfjgZ3jgYYiCiAgICAgICAgICAgICAgICAgICAgICAgICLlh7bigKbjgafjgoLmmI7ml6XjgYzjgYLjgovvvIEiKSkpKQogICAgOzsg57WQ5p6c44KS6KGo56S6CiAgICAoZm9ybWF0IHQgIue1kOaenO+8iH5B77yJ77yafkF+JSIgZGF0ZS1zdHIgcmVzdWx0KSkpCg==