プロジェクト

全般

プロフィール

鍛冶 ダメージ一覧 » 履歴 » バージョン 2

Noppi, 2023/12/18 11:32

1 1 Noppi
[ホーム](https://redmine.noppi.jp) - [[Wiki|DQX]]
2
# [[鍛冶 ダメージ一覧]]
3
``` scheme
4
#!r6rs
5
#!chezscheme
6
7
(import (chezscheme))
8
9
(define (make-sequence n1 n2 inc)
10
  (let loop ([current n2]
11
             [lis '()])
12
    (if (< current n1)
13
      lis
14
      (loop (- current inc) (cons current lis)))))
15
16
(define base-normal (make-sequence 12 18 1))
17
(define temperature-list (make-sequence 50 2000 50))
18
(define temperature-list-neppu (make-sequence 150 2000 50))
19
20
(define (make-2bai n) (* n 2))
21
(define base-2bai (map make-2bai base-normal))
22
23
(define (make-3bai n) (* n 3))
24
(define base-3bai (map make-3bai base-normal))
25
26
(define (make-1.2 n) (exact (floor (+ (* n 1.2) 1))))
27
(define base-1.2 (map make-1.2 base-normal))
28
29
(define (make-tekagen n) (exact (ceiling (* n 0.5))))
30
(define base-tekagen (map make-tekagen base-normal))
31
32
(define (make-midare n) (exact (floor (+ (* n 0.8) 1))))
33
(define base-midare (map make-midare base-normal))
34
35
(define (make-neppu n) (exact (ceiling (* n 2.5))))
36
(define base-neppu (map make-neppu base-normal))
37
38
(define (make-damage-list temperature base-list)
39
  (map
40
    (lambda (n)
41
      (exact (ceiling (* n (+ 1 (* (- temperature 1000) 0.0005))))))
42
    base-list))
43
44
(define (make-damage-table temperature-list base-list)
45
  (let loop ([temperature-list temperature-list]
46
             [lis '()])
47
    (if (null? temperature-list)
48
      lis
49
      (let ([current-temperature (car temperature-list)])
50
        (loop
51
          (cdr temperature-list)
52
          (cons
53
            (list
54
              current-temperature
55
              (make-damage-list current-temperature base-list))
56
            lis))))))
57
58
(define normal-table (make-damage-table temperature-list base-normal))
59
(define 2bai-table (make-damage-table temperature-list base-2bai))
60
(define 3bai-table (make-damage-table temperature-list base-3bai))
61
(define 1.2-table (make-damage-table temperature-list base-1.2))
62
(define tekagen-table (make-damage-table temperature-list base-tekagen))
63
(define midare-table (make-damage-table temperature-list base-midare))
64
(define neppu-table (make-damage-table temperature-list-neppu base-neppu))
65
66
(define (display-table title table)
67
  (display title)
68
  (newline)
69
  (display "----------------------------------------\n")
70
  (let loop ([table table])
71
    (cond
72
      [(null? table)
73
       (display "----------------------------------------\n")
74
       (newline)]
75
      [else
76
        (let ([lis (car table)])
77
          (display (car lis))
78
          (display "℃")
79
          (display " : ")
80
          (display (cadr lis))
81
          (newline)
82
          (loop (cdr table)))])))
83
84
(display-table "たたく、ねらい打ち" normal-table)
85
(display-table "2倍打ち、超4連打ち" 2bai-table)
86
(display-table "3倍打ち" 3bai-table)
87
(display-table "上下打ち、4連打ち、ななめ打ち" 1.2-table)
88
(display-table "てかげん打ち" tekagen-table)
89
(display-table "みだれ打ち" midare-table)
90
(display-table "熱風おろし" neppu-table)
91
```
92 2 Noppi
実行結果:
93
``` text
94
たたく、ねらい打ち
95
----------------------------------------
96
2000℃ : (18 20 21 23 24 26 27)
97
1950℃ : (18 20 21 23 24 26 27)
98
1900℃ : (18 19 21 22 24 25 27)
99
1850℃ : (18 19 20 22 23 25 26)
100
1800℃ : (17 19 20 21 23 24 26)
101
1750℃ : (17 18 20 21 22 24 25)
102
1700℃ : (17 18 19 21 22 23 25)
103
1650℃ : (16 18 19 20 22 23 24)
104
1600℃ : (16 17 19 20 21 23 24)
105
1550℃ : (16 17 18 20 21 22 23)
106
1500℃ : (15 17 18 19 20 22 23)
107
1450℃ : (15 16 18 19 20 21 23)
108
1400℃ : (15 16 17 18 20 21 22)
109
1350℃ : (15 16 17 18 19 20 22)
110
1300℃ : (14 15 17 18 19 20 21)
111
1250℃ : (14 15 16 17 18 20 21)
112
1200℃ : (14 15 16 17 18 19 20)
113
1150℃ : (13 14 16 17 18 19 20)
114
1100℃ : (13 14 15 16 17 18 19)
115
1050℃ : (13 14 15 16 17 18 19)
116
1000℃ : (12 13 14 15 16 17 18)
117
950℃ : (12 13 14 15 16 17 18)
118
900℃ : (12 13 14 15 16 17 18)
119
850℃ : (12 13 13 14 15 16 17)
120
800℃ : (11 12 13 14 15 16 17)
121
750℃ : (11 12 13 14 14 15 16)
122
700℃ : (11 12 12 13 14 15 16)
123
650℃ : (10 11 12 13 14 15 15)
124
600℃ : (10 11 12 12 13 14 15)
125
550℃ : (10 11 11 12 13 14 14)
126
500℃ : (9 10 11 12 12 13 14)
127
450℃ : (9 10 11 11 12 13 14)
128
400℃ : (9 10 10 11 12 12 13)
129
350℃ : (9 9 10 11 11 12 13)
130
300℃ : (8 9 10 10 11 12 12)
131
250℃ : (8 9 9 10 10 11 12)
132
200℃ : (8 8 9 9 10 11 11)
133
150℃ : (7 8 9 9 10 10 11)
134
100℃ : (7 8 8 9 9 10 10)
135
50℃ : (7 7 8 8 9 9 10)
136
----------------------------------------
137
138
2倍打ち、超4連打ち
139
----------------------------------------
140
2000℃ : (36 39 42 45 48 51 54)
141
1950℃ : (36 39 42 45 48 51 54)
142
1900℃ : (35 38 41 44 47 50 53)
143
1850℃ : (35 38 40 43 46 49 52)
144
1800℃ : (34 37 40 42 45 48 51)
145
1750℃ : (33 36 39 42 44 47 50)
146
1700℃ : (33 36 38 41 44 46 49)
147
1650℃ : (32 35 38 40 43 46 48)
148
1600℃ : (32 34 37 39 42 45 47)
149
1550℃ : (31 34 36 39 41 44 46)
150
1500℃ : (30 33 35 38 40 43 45)
151
1450℃ : (30 32 35 37 40 42 45)
152
1400℃ : (29 32 34 36 39 41 44)
153
1350℃ : (29 31 33 36 38 40 43)
154
1300℃ : (28 30 33 35 37 40 42)
155
1250℃ : (27 30 32 34 36 39 41)
156
1200℃ : (27 29 31 33 36 38 40)
157
1150℃ : (26 28 31 33 35 37 39)
158
1100℃ : (26 28 30 32 34 36 38)
159
1050℃ : (25 27 29 31 33 35 37)
160
1000℃ : (24 26 28 30 32 34 36)
161
950℃ : (24 26 28 30 32 34 36)
162
900℃ : (23 25 27 29 31 33 35)
163
850℃ : (23 25 26 28 30 32 34)
164
800℃ : (22 24 26 27 29 31 33)
165
750℃ : (21 23 25 27 28 30 32)
166
700℃ : (21 23 24 26 28 29 31)
167
650℃ : (20 22 24 25 27 29 30)
168
600℃ : (20 21 23 24 26 28 29)
169
550℃ : (19 21 22 24 25 27 28)
170
500℃ : (18 20 21 23 24 26 27)
171
450℃ : (18 19 21 22 24 25 27)
172
400℃ : (17 19 20 21 23 24 26)
173
350℃ : (17 18 19 21 22 23 25)
174
300℃ : (16 17 19 20 21 23 24)
175
250℃ : (15 17 18 19 20 22 23)
176
200℃ : (15 16 17 18 20 21 22)
177
150℃ : (14 15 17 18 19 20 21)
178
100℃ : (14 15 16 17 18 19 20)
179
50℃ : (13 14 15 16 17 18 19)
180
----------------------------------------
181
182
3倍打ち
183
----------------------------------------
184
2000℃ : (54 59 63 68 72 77 81)
185
1950℃ : (54 58 62 67 71 76 80)
186
1900℃ : (53 57 61 66 70 74 79)
187
1850℃ : (52 56 60 65 69 73 77)
188
1800℃ : (51 55 59 63 68 72 76)
189
1750℃ : (50 54 58 62 66 71 75)
190
1700℃ : (49 53 57 61 65 69 73)
191
1650℃ : (48 52 56 60 64 68 72)
192
1600℃ : (47 51 55 59 63 67 71)
193
1550℃ : (46 50 54 58 62 66 69)
194
1500℃ : (45 49 53 57 60 64 68)
195
1450℃ : (45 48 52 56 59 63 67)
196
1400℃ : (44 47 51 54 58 62 65)
197
1350℃ : (43 46 50 53 57 60 64)
198
1300℃ : (42 45 49 52 56 59 63)
199
1250℃ : (41 44 48 51 54 58 61)
200
1200℃ : (40 43 47 50 53 57 60)
201
1150℃ : (39 42 46 49 52 55 59)
202
1100℃ : (38 41 45 48 51 54 57)
203
1050℃ : (37 40 44 47 50 53 56)
204
1000℃ : (36 39 42 45 48 51 54)
205
950℃ : (36 39 41 44 47 50 53)
206
900℃ : (35 38 40 43 46 49 52)
207
850℃ : (34 37 39 42 45 48 50)
208
800℃ : (33 36 38 41 44 46 49)
209
750℃ : (32 35 37 40 42 45 48)
210
700℃ : (31 34 36 39 41 44 46)
211
650℃ : (30 33 35 38 40 43 45)
212
600℃ : (29 32 34 36 39 41 44)
213
550℃ : (28 31 33 35 38 40 42)
214
500℃ : (27 30 32 34 36 39 41)
215
450℃ : (27 29 31 33 35 37 40)
216
400℃ : (26 28 30 32 34 36 38)
217
350℃ : (25 27 29 31 33 35 37)
218
300℃ : (24 26 28 30 32 34 36)
219
250℃ : (23 25 27 29 30 32 34)
220
200℃ : (22 24 26 27 29 31 33)
221
150℃ : (21 23 25 26 28 30 32)
222
100℃ : (20 22 24 25 27 29 30)
223
50℃ : (19 21 23 24 26 27 29)
224
----------------------------------------
225
226
上下打ち、4連打ち、ななめ打ち
227
----------------------------------------
228
2000℃ : (23 24 26 29 30 32 33)
229
1950℃ : (23 24 26 29 30 31 33)
230
1900℃ : (22 24 25 28 29 31 32)
231
1850℃ : (22 23 25 28 29 30 32)
232
1800℃ : (21 23 24 27 28 30 31)
233
1750℃ : (21 22 24 27 28 29 31)
234
1700℃ : (21 22 23 26 27 29 30)
235
1650℃ : (20 22 23 26 27 28 30)
236
1600℃ : (20 21 23 25 26 28 29)
237
1550℃ : (20 21 22 25 26 27 29)
238
1500℃ : (19 20 22 24 25 27 28)
239
1450℃ : (19 20 21 24 25 26 27)
240
1400℃ : (18 20 21 23 24 26 27)
241
1350℃ : (18 19 20 23 24 25 26)
242
1300℃ : (18 19 20 22 23 25 26)
243
1250℃ : (17 18 20 22 23 24 25)
244
1200℃ : (17 18 19 21 22 24 25)
245
1150℃ : (17 18 19 21 22 23 24)
246
1100℃ : (16 17 18 20 21 23 24)
247
1050℃ : (16 17 18 20 21 22 23)
248
1000℃ : (15 16 17 19 20 21 22)
249
950℃ : (15 16 17 19 20 21 22)
250
900℃ : (15 16 17 19 19 20 21)
251
850℃ : (14 15 16 18 19 20 21)
252
800℃ : (14 15 16 18 18 19 20)
253
750℃ : (14 14 15 17 18 19 20)
254
700℃ : (13 14 15 17 17 18 19)
255
650℃ : (13 14 15 16 17 18 19)
256
600℃ : (12 13 14 16 16 17 18)
257
550℃ : (12 13 14 15 16 17 18)
258
500℃ : (12 12 13 15 15 16 17)
259
450℃ : (11 12 13 14 15 16 16)
260
400℃ : (11 12 12 14 14 15 16)
261
350℃ : (11 11 12 13 14 15 15)
262
300℃ : (10 11 12 13 13 14 15)
263
250℃ : (10 10 11 12 13 14 14)
264
200℃ : (9 10 11 12 12 13 14)
265
150℃ : (9 10 10 11 12 13 13)
266
100℃ : (9 9 10 11 11 12 13)
267
50℃ : (8 9 9 10 11 12 12)
268
----------------------------------------
269
270
てかげん打ち
271
----------------------------------------
272
2000℃ : (9 11 11 12 12 14 14)
273
1950℃ : (9 11 11 12 12 14 14)
274
1900℃ : (9 11 11 12 12 14 14)
275
1850℃ : (9 10 10 12 12 13 13)
276
1800℃ : (9 10 10 12 12 13 13)
277
1750℃ : (9 10 10 11 11 13 13)
278
1700℃ : (9 10 10 11 11 13 13)
279
1650℃ : (8 10 10 11 11 12 12)
280
1600℃ : (8 10 10 11 11 12 12)
281
1550℃ : (8 9 9 11 11 12 12)
282
1500℃ : (8 9 9 10 10 12 12)
283
1450℃ : (8 9 9 10 10 12 12)
284
1400℃ : (8 9 9 10 10 11 11)
285
1350℃ : (8 9 9 10 10 11 11)
286
1300℃ : (7 9 9 10 10 11 11)
287
1250℃ : (7 8 8 9 9 11 11)
288
1200℃ : (7 8 8 9 9 10 10)
289
1150℃ : (7 8 8 9 9 10 10)
290
1100℃ : (7 8 8 9 9 10 10)
291
1050℃ : (7 8 8 9 9 10 10)
292
1000℃ : (6 7 7 8 8 9 9)
293
950℃ : (6 7 7 8 8 9 9)
294
900℃ : (6 7 7 8 8 9 9)
295
850℃ : (6 7 7 8 8 9 9)
296
800℃ : (6 7 7 8 8 9 9)
297
750℃ : (6 7 7 7 7 8 8)
298
700℃ : (6 6 6 7 7 8 8)
299
650℃ : (5 6 6 7 7 8 8)
300
600℃ : (5 6 6 7 7 8 8)
301
550℃ : (5 6 6 7 7 7 7)
302
500℃ : (5 6 6 6 6 7 7)
303
450℃ : (5 6 6 6 6 7 7)
304
400℃ : (5 5 5 6 6 7 7)
305
350℃ : (5 5 5 6 6 7 7)
306
300℃ : (4 5 5 6 6 6 6)
307
250℃ : (4 5 5 5 5 6 6)
308
200℃ : (4 5 5 5 5 6 6)
309
150℃ : (4 5 5 5 5 6 6)
310
100℃ : (4 4 4 5 5 5 5)
311
50℃ : (4 4 4 5 5 5 5)
312
----------------------------------------
313
314
みだれ打ち
315
----------------------------------------
316
2000℃ : (15 17 18 20 20 21 23)
317
1950℃ : (15 17 18 20 20 21 23)
318
1900℃ : (15 16 18 19 19 21 22)
319
1850℃ : (15 16 18 19 19 20 22)
320
1800℃ : (14 16 17 19 19 20 21)
321
1750℃ : (14 16 17 18 18 20 21)
322
1700℃ : (14 15 17 18 18 19 21)
323
1650℃ : (14 15 16 18 18 19 20)
324
1600℃ : (13 15 16 17 17 19 20)
325
1550℃ : (13 15 16 17 17 18 20)
326
1500℃ : (13 14 15 17 17 18 19)
327
1450℃ : (13 14 15 16 16 18 19)
328
1400℃ : (12 14 15 16 16 17 18)
329
1350℃ : (12 13 15 16 16 17 18)
330
1300℃ : (12 13 14 15 15 17 18)
331
1250℃ : (12 13 14 15 15 16 17)
332
1200℃ : (11 13 14 15 15 16 17)
333
1150℃ : (11 12 13 14 14 16 17)
334
1100℃ : (11 12 13 14 14 15 16)
335
1050℃ : (11 12 13 14 14 15 16)
336
1000℃ : (10 11 12 13 13 14 15)
337
950℃ : (10 11 12 13 13 14 15)
338
900℃ : (10 11 12 13 13 14 15)
339
850℃ : (10 11 12 13 13 13 14)
340
800℃ : (9 10 11 12 12 13 14)
341
750℃ : (9 10 11 12 12 13 14)
342
700℃ : (9 10 11 12 12 12 13)
343
650℃ : (9 10 10 11 11 12 13)
344
600℃ : (8 9 10 11 11 12 12)
345
550℃ : (8 9 10 11 11 11 12)
346
500℃ : (8 9 9 10 10 11 12)
347
450℃ : (8 8 9 10 10 11 11)
348
400℃ : (7 8 9 10 10 10 11)
349
350℃ : (7 8 9 9 9 10 11)
350
300℃ : (7 8 8 9 9 10 10)
351
250℃ : (7 7 8 9 9 9 10)
352
200℃ : (6 7 8 8 8 9 9)
353
150℃ : (6 7 7 8 8 9 9)
354
100℃ : (6 7 7 8 8 8 9)
355
50℃ : (6 6 7 7 7 8 8)
356
----------------------------------------
357
358
熱風おろし
359
----------------------------------------
360
2000℃ : (45 50 53 57 60 65 68)
361
1950℃ : (45 49 52 57 59 64 67)
362
1900℃ : (44 48 51 56 58 63 66)
363
1850℃ : (43 48 50 55 57 62 65)
364
1800℃ : (42 47 49 54 56 61 63)
365
1750℃ : (42 46 49 53 55 60 62)
366
1700℃ : (41 45 48 52 54 59 61)
367
1650℃ : (40 44 47 51 53 57 60)
368
1600℃ : (39 43 46 50 52 56 59)
369
1550℃ : (39 43 45 49 51 55 58)
370
1500℃ : (38 42 44 48 50 54 57)
371
1450℃ : (37 41 43 47 49 53 56)
372
1400℃ : (36 40 42 46 48 52 54)
373
1350℃ : (36 39 42 45 47 51 53)
374
1300℃ : (35 38 41 44 46 50 52)
375
1250℃ : (34 38 40 43 45 49 51)
376
1200℃ : (33 37 39 42 44 48 50)
377
1150℃ : (33 36 38 41 43 47 49)
378
1100℃ : (32 35 37 40 42 46 48)
379
1050℃ : (31 34 36 39 41 45 47)
380
1000℃ : (30 33 35 38 40 43 45)
381
950℃ : (30 33 35 38 39 42 44)
382
900℃ : (29 32 34 37 38 41 43)
383
850℃ : (28 31 33 36 37 40 42)
384
800℃ : (27 30 32 35 36 39 41)
385
750℃ : (27 29 31 34 35 38 40)
386
700℃ : (26 29 30 33 34 37 39)
387
650℃ : (25 28 29 32 33 36 38)
388
600℃ : (24 27 28 31 32 35 36)
389
550℃ : (24 26 28 30 31 34 35)
390
500℃ : (23 25 27 29 30 33 34)
391
450℃ : (22 24 26 28 29 32 33)
392
400℃ : (21 24 25 27 28 31 32)
393
350℃ : (21 23 24 26 27 30 31)
394
300℃ : (20 22 23 25 26 28 30)
395
250℃ : (19 21 22 24 25 27 29)
396
200℃ : (18 20 21 23 24 26 27)
397
150℃ : (18 19 21 22 23 25 26)
398
----------------------------------------
399
```