Add tags

Add tags to the following comment

言語の特徴にあわせてということで、Lisp といえばマクロなのでしょうが、使い道が浮かびませんでした。format と loop もまあ特徴といってもいいかなということで、この二つを軸に。

 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
#-clisp (defun ! (n) (if (zerop n) 1 (* n (! (1- n)))))

(defconstant +monsters+
  #("焼きたてパン" "強いシャチホコ" "もんじゃ焼き一年生" "怪人ホタテ男"
    "ニセ勇者" "逃げ足の早いアレ" "睡魔" "煩悩" "愛らしい子犬の中の人"
    "恋するスズメバチ" "勇敢なクマンバチ" "信じられない物" "勇者の師匠"
    "浮遊する鎧" "怪盗ドボン" "闇の招き猫" "誘惑のカスタードクリーム"
    "しょっぱすぎる籠手" "カレー味の兜" "光沢だけは一流の盾"
    "若葉マークのモンスター" "新緑の季節" "梅雨時の車両のニオイ" "暑すぎる夏"
    "新宿らしき何か" "やたら発達したドーナツ" "育ちすぎたクマー"
    "なごやかな雰囲気" "凍り付いた気配" "忍び寄る恐怖"))

(defconstant +skills+
  #("お豆腐の買い方" "鉛筆の買い方" "消しゴムの使い方" "メモの取り方"
    "攻撃に使えないこともない呪文" "裏町の歩き方" "森林浴" "珈琲の味"
    "しじみのみそ汁の作り方" "回覧板の回し方" "郵便物の投函方法"
    "立ち話のコツ" "猫の呼び方" "犬の呼び方" "カラスの呼び方" "鳩専用豆鉄砲"
    "秘密の趣味" "速く走るコツ" "剣の使い方" "斧の使い方"
    "まきわりで、まっきわりわり" "聖なる祈り" "孤独" "涼しく過ごすコツ"
    "お洒落のコツ" "卵をふわっと焼く方法" "ごはんの研ぎ方"
    "油汚れの対応方法" "大人の振るまい" "Suicaの使い方"))

(defun level-up-message (level monster skill &optional melancholy-p)
  (format t "~&*-----
~Aを倒した!
~D の経験値を得た。
勇者は~:[ ~D に~;、また、~]レベルが上がった!
勇者は、~:[~A~;ふと空しさ~]を覚えた。~%"
          monster (! level)
          melancholy-p level
          melancholy-p skill))

(defun interval-message ()
  (format t "~3%そして、
かくかくしかじかで、山あり谷ありの冒険が続いたが割愛。~2%"))

(loop for x from 1
  as monster = (aref +monsters+ (random 30))
  and skill = (aref +skills+ (random 30))
  while (< x 30)
  do (level-up-message x monster skill)
     (interval-message)
  finally (level-up-message x monster nil t))

Add tags

The input will be splited to tags with space.

Index

Feed

Other

Link

Pathtraq

loading...