@slugbugblue/trax 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/puzzles.js DELETED
@@ -1,1236 +0,0 @@
1
- /** This is a collection of puzzles.
2
- * @copyright 2022-2023
3
- * @author Chad Transtrum <chad@transtrum.net>
4
- * @license Apache-2.0
5
- */
6
-
7
- /** @type string[] */
8
- export const levels = [
9
- 'tutorial',
10
- 'beginner',
11
- 'tough',
12
- 'advanced',
13
- 'expert',
14
- 'master',
15
- ]
16
-
17
- /** @type {{[key: string]: PuzzleSource}} */
18
- export const sources = {
19
- sbb: {
20
- name: "slugbugblue's puzzlebot",
21
- },
22
- traxgame: {
23
- name: 'Donald G. Bailey',
24
- url: 'http://www.traxgame.com/games_puzzles.php',
25
- },
26
- book1: {
27
- name: 'Martin M. S. Pedersen',
28
- url: 'https://gnutrax.com/book',
29
- copyright: '2011',
30
- license: 'CC BY 4.0',
31
- licenseUrl: 'https://creativecommons.org/licenses/by/4.0/',
32
- },
33
- book2: {
34
- name: 'Martin M. S. Pedersen',
35
- copyright: '2023',
36
- license: 'CC BY 4.0',
37
- licenseUrl: 'https://creativecommons.org/licenses/by/4.0/',
38
- },
39
- }
40
-
41
- /** @type {Puzzle[]} */
42
- export const puzzles = [
43
- {
44
- id: 'tutorial.01',
45
- src: 'sbb',
46
- game: 'trax',
47
- notation: '@0/ @1\\',
48
- icon: 'fd',
49
- player: 1,
50
- max: 3,
51
- level: 0,
52
- title: 'Loop attack',
53
- desc: "You're playing white, so when you form a white loop, you win the game.",
54
- hints: ['A0/', 'B0\\'],
55
- },
56
- {
57
- id: 'tutorial.02',
58
- src: 'sbb',
59
- game: 'trax',
60
- notation: '@0+ @1/ C1\\',
61
- icon: 'def',
62
- player: 2,
63
- max: 4,
64
- level: 0,
65
- title: 'Wide loop attack',
66
- desc: "Your loop doesn't have to be a perfect circle, and it can be oriented in any direction.",
67
- hint: 'B2+',
68
- },
69
- {
70
- id: 'tutorial.03',
71
- src: 'sbb',
72
- game: 'trax',
73
- notation: '@0+ A0\\ @1/ B3/',
74
- icon: 'ca:0e:0d',
75
- player: 1,
76
- max: 5,
77
- level: 0,
78
- title: 'Partially formed wide loop',
79
- desc: "It doesn't matter which direction the loops are facing.",
80
- hints: ['A2+', 'A3\\'],
81
- },
82
- {
83
- id: 'tutorial.04',
84
- src: 'sbb',
85
- game: 'trax',
86
- notation: '@0+ @1\\ A0/ C2+ D2/',
87
- icon: 'd:aeec',
88
- player: 2,
89
- max: 6,
90
- level: 0,
91
- title: 'Using a hollow',
92
- desc: 'You can use forced tiles with an inside corner to stretch your attack.',
93
- hint: 'C1+',
94
- },
95
- {
96
- id: 'tutorial.05',
97
- src: 'sbb',
98
- game: 'trax',
99
- notation: '@0+ A0\\ @1/ B3+ B4/ C2\\',
100
- icon: 'ca:0ef:0ec:0d',
101
- player: 1,
102
- max: 7,
103
- level: 0,
104
- title: 'Diverted attack',
105
- desc: "Even though black is attacking into this area, it doesn't stop you from completing your loop.",
106
- hint: 'A3+',
107
- },
108
- {
109
- id: 'tutorial.06',
110
- src: 'sbb',
111
- game: 'trax',
112
- notation: '@0+ @1\\ A0/ C2+ D2+ E2/ E1\\',
113
- icon: 'd2f:aeeec',
114
- player: 2,
115
- max: 8,
116
- level: 0,
117
- title: 'Long cave',
118
- desc: 'Stretch the line with forced tiles.',
119
- hint: 'C1+',
120
- },
121
- {
122
- id: 'tutorial.07',
123
- src: 'sbb',
124
- game: 'trax',
125
- notation: '@0+ @1\\ B2\\ B3\\',
126
- icon: 'ae:0f:0a',
127
- player: 1,
128
- max: 7,
129
- level: 0,
130
- title: 'Introduction to the L',
131
- desc: 'Use an L to form two attacks at once.',
132
- hint: 'A3/',
133
- },
134
- {
135
- id: 'tutorial.08',
136
- src: 'sbb',
137
- game: 'trax',
138
- notation: '@0+ @1\\ @1+ A0\\ C3\\',
139
- icon: 'f:bae:1f',
140
- player: 2,
141
- max: 8,
142
- level: 0,
143
- title: 'Mirrored Ls',
144
- desc: "This mirrored position gives an L to both players, but since it's your turn, you have the initiative.",
145
- hint: 'A3/',
146
- },
147
- {
148
- id: 'tutorial.09',
149
- src: 'sbb',
150
- game: 'trax',
151
- notation: '@0+ @1\\ @1\\ @1+ A0\\',
152
- icon: 'a:efae',
153
- player: 2,
154
- max: 8,
155
- level: 0,
156
- title: 'Sideways L',
157
- desc: 'An L can be in any orientation.',
158
- hint: 'D1+',
159
- },
160
- {
161
- id: 'tutorial.10',
162
- src: 'sbb',
163
- game: 'trax',
164
- notation: '@0+ @1\\ @1\\ C2+ D2\\',
165
- icon: 'fae:1ef',
166
- player: 2,
167
- max: 8,
168
- level: 0,
169
- title: 'Ls come in many shapes',
170
- hint: 'A2/',
171
- },
172
- {
173
- id: 'tutorial.11',
174
- src: 'sbb',
175
- game: 'trax',
176
- notation: '@0+ B1/ C1/ @1+ A2/',
177
- icon: 'faee:2f',
178
- player: 2,
179
- max: 8,
180
- level: 0,
181
- title: 'Another L',
182
- hint: 'D2\\',
183
- },
184
- {
185
- id: 'tutorial.12',
186
- src: 'sbb',
187
- game: 'trax',
188
- notation: '@0+ @1\\ A0/ A0+ @1\\',
189
- icon: 'ae:fd:0ae',
190
- player: 2,
191
- max: 8,
192
- level: 0,
193
- title: 'Fat L',
194
- desc: "Even though this looks a bit odd, it's just another L.",
195
- hint: 'C1/',
196
- },
197
- {
198
- id: 'tutorial.13',
199
- src: 'sbb',
200
- game: 'trax',
201
- notation: '@0+ @1\\ @1+ @1+ D2\\',
202
- icon: 'bbae:2f',
203
- player: 2,
204
- max: 8,
205
- level: 0,
206
- title: 'Connectable pair L',
207
- desc: 'This L uses a connectable pair instead of two corners, but it works the same as the other Ls.',
208
- hints: ['A2\\', 'B2/'],
209
- },
210
- {
211
- id: 'tutorial.14',
212
- src: 'sbb',
213
- game: 'trax',
214
- notation: '@0+ @1/ @1/ C0+ C0+',
215
- icon: 'fae:1e:1e',
216
- player: 2,
217
- max: 8,
218
- level: 0,
219
- title: 'Another connectable pair L',
220
- desc: 'There is a lot of variation in how Ls look, but being able to recognize them and activate them is key.',
221
- hint: 'A2\\',
222
- },
223
- {
224
- id: 'tutorial.15',
225
- src: 'sbb',
226
- game: 'trax',
227
- notation: '@0+ @1\\ A0/ A0+ A0+',
228
- icon: 'e:e:d:ae',
229
- player: 2,
230
- max: 8,
231
- level: 0,
232
- title: 'Simple connectable pair L',
233
- desc: 'Starting to get the hang of this?',
234
- hints: ['B1\\', 'B2/'],
235
- },
236
- {
237
- id: 'tutorial.16',
238
- src: 'sbb',
239
- game: 'trax',
240
- notation: '@0+ @1+ A0+ A0\\ C3/',
241
- icon: 'a:e:eec',
242
- player: 2,
243
- max: 8,
244
- level: 0,
245
- title: 'Strange L',
246
- desc: 'Just another connectable pair L.',
247
- hint: 'B1/',
248
- },
249
- {
250
- id: 'ew1.trx',
251
- src: 'traxgame',
252
- game: 'traxloop',
253
- notation: '@0/ A2/ A3+ @3/',
254
- icon: '0d:0c:de',
255
- level: 1,
256
- player: 1,
257
- max: 7,
258
- hint: 'A1\\',
259
- },
260
- {
261
- id: 'ew2.trx',
262
- src: 'traxgame',
263
- game: 'traxloop',
264
- notation: '@0/ A2/ A3+ @3/ B0/ B0/',
265
- icon: '0d:0c:0d:0c:de',
266
- level: 1,
267
- player: 1,
268
- max: 9,
269
- hint: 'A1\\',
270
- },
271
- {
272
- id: 'ew3.trx',
273
- src: 'traxgame',
274
- game: 'traxloop',
275
- notation: '@0/ B1/ C1+ D1+ D0/ D0+',
276
- icon: '2e:2d:dcbb',
277
- level: 1,
278
- player: 1,
279
- max: 9,
280
- hint: 'A2\\',
281
- },
282
- {
283
- id: 'ew4.trx',
284
- src: 'traxgame',
285
- game: 'traxloop',
286
- notation: '@0+ B1+ C1+ D1+ A0\\ D1/',
287
- icon: 'a1c:eeee',
288
- level: 1,
289
- player: 1,
290
- max: 9,
291
- hints: ['B3\\', 'C3/'],
292
- },
293
- {
294
- id: 'ew5.trx',
295
- src: 'traxgame',
296
- game: 'traxloop',
297
- notation: '@0/ A2+ @2+ @2+ @2+ A1\\',
298
- icon: 'f1d:bbbb',
299
- level: 1,
300
- player: 1,
301
- max: 9,
302
- hints: ['A0/', 'D0\\'],
303
- },
304
- {
305
- id: 'ew6.trx',
306
- src: 'traxgame',
307
- game: 'traxloop',
308
- notation: '@0/ @1+ @1+ @1+ @1\\ A0/',
309
- icon: 'c:fbbbd',
310
- level: 1,
311
- player: 1,
312
- max: 9,
313
- hints: ['D1+', 'E1\\'],
314
- },
315
- {
316
- id: 'ew7.trx',
317
- src: 'traxgame',
318
- game: 'traxloop',
319
- notation: '@0/ A2+ B1/ C1+ D1\\ E1\\',
320
- icon: 'dcbaf:bdcdc',
321
- level: 2,
322
- player: 1,
323
- max: 11,
324
- hints: ['A0\\', 'E0/'],
325
- },
326
- {
327
- id: 'ew8.trx',
328
- src: 'traxgame',
329
- game: 'traxloop',
330
- notation: '@0+ A0/ B1\\ A0/',
331
- icon: 'df:ca:e',
332
- level: 2,
333
- player: 1,
334
- max: 9,
335
- hint: 'C1/',
336
- },
337
- {
338
- id: 'eb1.trx',
339
- src: 'traxgame',
340
- game: 'traxloop',
341
- notation: '@0/ @1+ A2+ A3/ A4/',
342
- icon: 'bd:b:c:d',
343
- level: 1,
344
- player: 2,
345
- max: 8,
346
- hint: 'B4\\',
347
- },
348
- {
349
- id: 'eb2.trx',
350
- src: 'traxgame',
351
- game: 'traxloop',
352
- notation: '@0+ B1/ A2\\ @2/ A3+',
353
- icon: '0ec:dfd:b',
354
- level: 1,
355
- player: 2,
356
- max: 8,
357
- hint: 'C3\\',
358
- },
359
- {
360
- id: 'eb3.trx',
361
- src: 'traxgame',
362
- game: 'traxloop',
363
- notation: '@0/ @1/ C1+ C0+ C0+',
364
- icon: '1e:1e:cde',
365
- level: 1,
366
- player: 2,
367
- max: 8,
368
- hint: 'A2\\',
369
- },
370
- {
371
- id: 'eb4.trx',
372
- src: 'traxgame',
373
- game: 'traxloop',
374
- notation: '@0/ A2+ @2/ @2/ @2+ @2+ A1+',
375
- icon: 'b2d:bbdcb',
376
- level: 1,
377
- player: 2,
378
- max: 10,
379
- hints: ['B3\\', 'C3/'],
380
- },
381
- {
382
- id: 'eb5.trx',
383
- src: 'traxgame',
384
- game: 'traxloop',
385
- notation: '@0/ B1+ C1+ C2+ C3\\',
386
- icon: 'dee:1e:1f',
387
- level: 1,
388
- player: 2,
389
- max: 8,
390
- hint: 'B3/',
391
- },
392
- {
393
- id: 'eb6.trx',
394
- src: 'traxgame',
395
- game: 'traxloop',
396
- notation: '@0/ A0/ @2\\ @2\\ @2\\ @2+ A1\\',
397
- icon: 'a2c:efafd',
398
- level: 1,
399
- player: 2,
400
- max: 10,
401
- hint: 'C1+',
402
- },
403
- {
404
- id: 'eb7.trx',
405
- src: 'traxgame',
406
- game: 'traxloop',
407
- notation: '@0/ @1/ C1\\ D1\\ B2/',
408
- icon: 'cdfa:0c',
409
- level: 2,
410
- player: 2,
411
- max: 10,
412
- hints: ['A0\\', 'D0/'],
413
- },
414
- {
415
- id: 'eb8.trx',
416
- src: 'traxgame',
417
- game: 'traxloop',
418
- notation: '@0/ @1/ C1\\ C2\\ B2+ B3\\ C3\\',
419
- icon: 'cdf:fba:0af',
420
- level: 2,
421
- player: 2,
422
- max: 12,
423
- hint: 'C4\\',
424
- },
425
- {
426
- id: 'eb9.trx',
427
- src: 'traxgame',
428
- game: 'traxloop',
429
- notation: '@0+ B1+ C1/ @1\\ @1+ A0\\ A0\\ A0+ A0+ A0+ A0/',
430
- icon: 'd:b:b:b:a:f:baeec',
431
- level: 1,
432
- player: 2,
433
- max: 14,
434
- hint: 'B4+',
435
- },
436
- {
437
- id: 'iw1.trx',
438
- src: 'traxgame',
439
- game: 'traxloop',
440
- notation: '@0+ @1\\ B0/ B0\\',
441
- icon: '0f:dc:ae',
442
- level: 3,
443
- player: 1,
444
- max: 13,
445
- hint: '@2\\',
446
- },
447
- {
448
- id: 'iw2.trx',
449
- src: 'traxgame',
450
- game: 'traxloop',
451
- notation: '@0+ @1+ @1+ @1\\ A0+ A0\\',
452
- icon: 'f:ba:aeee',
453
- level: 2,
454
- player: 1,
455
- max: 11,
456
- hints: ['A0/', 'C4\\', 'D4/'],
457
- },
458
- {
459
- id: 'iw3.trx',
460
- src: 'traxgame',
461
- game: 'traxloop',
462
- notation: '@0+ B1/ @1/ @1/',
463
- icon: 'cdec',
464
- level: 2,
465
- player: 1,
466
- max: 11,
467
- hints: ['B0/', 'C0\\'],
468
- },
469
- {
470
- id: 'iw4.trx',
471
- src: 'traxgame',
472
- game: 'traxloop',
473
- notation: '@0+ A0\\ @2/ C1\\',
474
- icon: 'caf:dec',
475
- level: 2,
476
- player: 1,
477
- max: 11,
478
- hints: ['@2/', 'C0/'],
479
- },
480
- {
481
- id: 'iw5.trx',
482
- src: 'traxgame',
483
- game: 'traxloop',
484
- notation: '@0/ @1+ @1+ @1\\ @1/ A2/',
485
- icon: 'dfbbd:c',
486
- level: 2,
487
- player: 1,
488
- max: 11,
489
- hint: 'A0\\',
490
- },
491
- {
492
- id: 'iw6.trx',
493
- src: 'traxgame',
494
- game: 'traxloop',
495
- notation: '@0/ A2/ B1/ C1+ D1\\ D3+ @2\\ F2\\',
496
- icon: '0dcba:acdcdf:0fafb',
497
- level: 3,
498
- player: 1,
499
- max: 17,
500
- hint: 'B0\\',
501
- },
502
- {
503
- id: 'iw7.trx',
504
- src: 'traxgame',
505
- game: 'traxloop',
506
- notation: '@0/ B1/ C1/ B2\\ A0/ A4/ @4+ D3+',
507
- icon: '0c:0dcd:0afb:bdc',
508
- level: 2,
509
- player: 1,
510
- max: 13,
511
- hints: ['A1+', 'D1/'],
512
- },
513
- {
514
- id: 'ib1.trx',
515
- src: 'traxgame',
516
- game: 'traxloop',
517
- notation: '@0+ B1/ B0\\ B0\\ @3/ @3\\ @3\\ A2+ A1\\',
518
- icon: 'f2a:ba1f:afdec',
519
- level: 1,
520
- player: 2,
521
- max: 12,
522
- hint: 'D1+',
523
- },
524
- {
525
- id: 'ib2.trx',
526
- src: 'traxgame',
527
- game: 'traxloop',
528
- notation: '@0/ @1/ C1+ C0+ C3/ D2\\ E2\\',
529
- icon: '1e:cdefa:1dcd',
530
- level: 2,
531
- player: 2,
532
- max: 12,
533
- hints: ['A1\\', 'E1/'],
534
- },
535
- {
536
- id: 'ib3.trx',
537
- src: 'traxgame',
538
- game: 'traxloop',
539
- notation: '@0/ @1+ @1/ D1/ E1/ B0/ C1/ E1+ E0/',
540
- icon: '3c:0dcde:cbdcd',
541
- level: 2,
542
- player: 2,
543
- max: 14,
544
- hint: 'C1+',
545
- },
546
- {
547
- id: 'ib4.trx',
548
- src: 'traxgame',
549
- game: 'traxloop',
550
- notation: '@0+ @1+ @1\\ @1\\ E1/',
551
- icon: 'faeec',
552
- level: 2,
553
- player: 2,
554
- max: 12,
555
- hints: ['B0/', 'C0+'],
556
- },
557
- {
558
- id: 'ib5.trx',
559
- src: 'traxgame',
560
- game: 'traxloop',
561
- notation: '@0/ B1/ C1/ D1/ E1/',
562
- icon: 'dcdcd',
563
- level: 2,
564
- player: 2,
565
- max: 12,
566
- hint: 'C0+',
567
- },
568
- {
569
- id: 'ib6.trx',
570
- src: 'traxgame',
571
- game: 'traxloop',
572
- notation: '@0+ @1/ @1/ D1+ E1+ F1+ F0/',
573
- icon: '4c:cdeeee',
574
- level: 2,
575
- player: 2,
576
- max: 14,
577
- hint: 'A1\\',
578
- },
579
- {
580
- id: 'ib7.trx',
581
- src: 'traxgame',
582
- game: 'traxloop',
583
- notation: '@0+ @1\\ A0/ @1\\ A0\\',
584
- icon: 'a:fd:0ae',
585
- level: 2,
586
- player: 2,
587
- max: 10,
588
- hints: ['A0/', 'D3/'],
589
- },
590
- {
591
- id: 'ib8.trx',
592
- src: 'traxgame',
593
- game: 'traxloop',
594
- notation: '@0+ A0+ @1\\ A0\\ C1+ C2\\ D2\\',
595
- icon: 'faef:aefa:0ecd',
596
- level: 2,
597
- player: 2,
598
- max: 14,
599
- hint: '@2+',
600
- },
601
- {
602
- id: 'ib9.trx',
603
- src: 'traxgame',
604
- game: 'traxloop',
605
- notation: '@0/ B1/ C1+ D1/ D0\\ D0\\ D0\\',
606
- icon: '2a:2f:2a:dcbd',
607
- level: 2,
608
- player: 2,
609
- max: 14,
610
- hint: 'C1\\',
611
- },
612
- {
613
- id: 'ib10.trx',
614
- title: "Sucker's Opening",
615
- src: 'traxgame',
616
- game: 'traxloop',
617
- notation: '@0/ @1/ B0\\',
618
- icon: '0a:cd',
619
- level: 3,
620
- player: 2,
621
- max: 14,
622
- hint: '@2\\',
623
- },
624
- {
625
- id: 'ib11.trx',
626
- src: 'traxgame',
627
- game: 'traxloop',
628
- notation: '@0+ @1\\ C1\\ C2+ @1+ D3+ D4\\ @1\\ F3\\ F4+ F5\\',
629
- icon: 'fbaef:2fb:3ba:3ae:4f',
630
- level: 2,
631
- player: 2,
632
- max: 16,
633
- hint: 'D3/',
634
- },
635
- {
636
- id: 'hw1.trx',
637
- src: 'traxgame',
638
- game: 'traxloop',
639
- notation: '@0/ A2\\ A3\\ B3+ C2+ D2\\ D1/ E2\\',
640
- icon: 'd1d:afbaf:fb',
641
- level: 3,
642
- player: 1,
643
- max: 17,
644
- hint: 'A0\\',
645
- },
646
- {
647
- id: 'hw2.trx',
648
- src: 'traxgame',
649
- game: 'traxloop',
650
- notation: '@0+ A2/ A3\\ @3/ @3/ B4/ A4+ D3\\',
651
- icon: '1e:1d:dcaf:bd',
652
- level: 3,
653
- player: 1,
654
- max: 17,
655
- hint: 'E3/',
656
- },
657
- {
658
- id: 'hw3.trx',
659
- src: 'traxgame',
660
- game: 'traxloop',
661
- notation: '@0/ B1+ C1+ D1\\ B2/ B0/',
662
- icon: '0ca:deef:0d',
663
- level: 2,
664
- player: 1,
665
- max: 15,
666
- hints: ['B0/', 'C0\\'],
667
- },
668
- {
669
- id: 'hw4.trx',
670
- src: 'traxgame',
671
- game: 'traxloop',
672
- notation: '@0+ B1+ C1+ A2/',
673
- icon: 'eee:d',
674
- level: 3,
675
- player: 1,
676
- max: 15,
677
- hint: 'A0\\',
678
- },
679
- {
680
- id: 'hw5.trx',
681
- src: 'traxgame',
682
- game: 'traxloop',
683
- notation: '@0/ A2/ A0\\ @1\\ A2/ @1\\ A2/ @2/ A3\\ B3+',
684
- icon: '0afa:cdcd:fbdc',
685
- level: 3,
686
- player: 1,
687
- max: 19,
688
- hint: 'B0+',
689
- },
690
- {
691
- id: 'hw6.trx',
692
- src: 'traxgame',
693
- game: 'traxloop',
694
- notation: '@0/ B1\\ C1/ C0+',
695
- icon: '1e:dfd',
696
- level: 3,
697
- player: 1,
698
- max: 15,
699
- hint: 'B3\\',
700
- },
701
- {
702
- id: 'hw7.trx',
703
- src: 'traxgame',
704
- game: 'traxloop',
705
- notation: '@0/ B1\\ B2+ C2+ B3+ A2+',
706
- icon: 'df:bbb:0b',
707
- level: 3,
708
- player: 1,
709
- max: 15,
710
- hint: 'B0/',
711
- },
712
- {
713
- id: 'hw8.trx',
714
- src: 'traxgame',
715
- game: 'traxloop',
716
- notation: '@0/ @1\\ @1\\ B0\\ C1/ C0/ D1\\ D2\\ E1\\ E2\\',
717
- icon: '1dfa:0acaf:afd',
718
- level: 3,
719
- player: 1,
720
- max: 21,
721
- hint: 'C0\\',
722
- },
723
- {
724
- id: 'hw9.trx',
725
- src: 'traxgame',
726
- game: 'traxloop',
727
- notation: '@0/ B1\\ A2+ @2+ @2\\ @2/ A3+ @3+',
728
- icon: '3df:0dfbb:bb',
729
- level: 3,
730
- player: 1,
731
- max: 17,
732
- hint: 'F0/',
733
- },
734
- {
735
- id: 'hw10.trx',
736
- src: 'traxgame',
737
- game: 'traxloop',
738
- notation: '@0+ B1/ B2+ A2/',
739
- icon: 'ec:de',
740
- level: 4,
741
- player: 1,
742
- max: 17,
743
- hint: 'A0\\',
744
- },
745
- {
746
- id: 'hb1.trx',
747
- src: 'traxgame',
748
- game: 'traxloop',
749
- notation: '@0+ B1/ @1+ @1\\ A2\\',
750
- icon: 'aeec:fd',
751
- level: 2,
752
- player: 2,
753
- max: 12,
754
- hint: '@2/',
755
- },
756
- {
757
- id: 'hb2.trx',
758
- src: 'traxgame',
759
- game: 'traxloop',
760
- notation: '@0/ A2+ A3+ A4\\ B3\\ B4+ B5\\ C5/ C4+ D4/ D5+ E5/ E4/',
761
- icon: 'd:b:ba:aeecd:0fdec',
762
- level: 2,
763
- player: 2,
764
- max: 18,
765
- hints: ['B1+', 'B2/', 'D3+'],
766
- },
767
- {
768
- id: 'hb3.trx',
769
- src: 'traxgame',
770
- game: 'traxloop',
771
- notation: '@0+ B1/ C1/',
772
- icon: 'ecd',
773
- level: 3,
774
- player: 2,
775
- max: 16,
776
- hint: 'A0+',
777
- },
778
- {
779
- id: 'hb4.trx',
780
- src: 'traxgame',
781
- game: 'traxloop',
782
- notation: '@0+ A0/ A0/ A4/ A5+ @5/ @5/ @5+ A4/ @5/',
783
- icon: '3d:3c:3e:0d1d:cbdcb',
784
- level: 3,
785
- player: 1,
786
- max: 15,
787
- hint: 'D1\\',
788
- },
789
- {
790
- id: 'hb5.trx',
791
- src: 'traxgame',
792
- game: 'traxloop',
793
- notation: '@0+ B1/ C1+ C0/ D1\\ E1\\ F1+ E0/ F1/',
794
- icon: '2cdc:1dfae:ecb',
795
- level: 3,
796
- player: 2,
797
- max: 16,
798
- hint: 'F0/',
799
- },
800
- {
801
- id: 'hb6.trx',
802
- src: 'traxgame',
803
- game: 'traxloop',
804
- notation: '@0/ @1+ A0/ A0/ B2+ @2\\ @2\\ E3\\ E4+',
805
- icon: '1ca:afde:1bdf:3b',
806
- level: 3,
807
- player: 2,
808
- max: 16,
809
- hint: 'A1\\',
810
- },
811
- {
812
- id: 'hb7.trx',
813
- src: 'traxgame',
814
- game: 'traxloop',
815
- notation: '@0/ B1+ C1/ C0/ C0\\ @3/ C1+ E2/ F2\\',
816
- icon: '1baf:1cdca:cdecd',
817
- level: 3,
818
- player: 2,
819
- max: 16,
820
- hint: 'B1+',
821
- },
822
- {
823
- id: 'book.01',
824
- src: 'book1',
825
- game: 'traxloop',
826
- notation: '@0/ @1+ B0/ C1+ D2/ C3/',
827
- icon: 'dcba:bdcd:1dc',
828
- level: 2,
829
- player: 1,
830
- max: 13,
831
- hint: '@2/',
832
- },
833
- {
834
- id: 'book.02',
835
- src: 'book1',
836
- game: 'traxloop',
837
- notation: '@0+ B1+ C1/ B0/ B0/ B0/ B0/ D5/ E5/ E6+ C4/ C3+ B6+',
838
- icon: '0df:0ca:0de:0cd:eecdc:0efae',
839
- level: 2,
840
- player: 2,
841
- max: 18,
842
- hints: ['D2\\', 'D3/'],
843
- },
844
- {
845
- id: 'book.03',
846
- src: 'book1',
847
- game: 'traxloop',
848
- notation: '@0/ @1/ @1+ @1/ @1+ C0/ D1/ E1+ D0+ E1+ F1\\ E0+',
849
- icon: '3e:1deef:1cdec:bdecd',
850
- level: 3,
851
- player: 1,
852
- max: 19,
853
- hint: 'C1\\',
854
- },
855
- {
856
- id: 'book.04',
857
- src: 'book1',
858
- game: 'traxloop',
859
- notation: '@0+ B1/ @1/ A0/ C3/ A4+ @4+ @3/ A5\\',
860
- icon: '1caf:1dec:dcafd:aeec:fd',
861
- level: 3,
862
- player: 2,
863
- max: 16,
864
- hints: ['C0/', 'D0\\'],
865
- },
866
- {
867
- id: 'book.05',
868
- src: 'book1',
869
- game: 'traxloop',
870
- notation: '@0/ @1/ B0+ @2+ A0/ @2+',
871
- icon: 'cd:ecde:0ecd',
872
- level: 2,
873
- player: 1,
874
- max: 15,
875
- hints: ['B4\\', 'C4/'],
876
- },
877
- {
878
- id: 'book.07',
879
- src: 'book1',
880
- game: 'traxloop',
881
- notation: '@0/ A2+ A0+ @2\\ B0+ C1+ B0/ B0/ A2+',
882
- icon: 'cdf:eca:0ee:0e:fd:0b',
883
- level: 2,
884
- player: 2,
885
- max: 14,
886
- hint: 'C6+',
887
- },
888
- {
889
- id: 'book.08',
890
- src: 'book1',
891
- game: 'traxloop',
892
- notation: '@0/ @1/ A2/ A0/ B1/ @1+ @1/ A0/ @1/',
893
- icon: 'cdfaf:0cbdc:0facd:0afdc',
894
- level: 3,
895
- player: 2,
896
- max: 18,
897
- hint: 'A0\\',
898
- },
899
- {
900
- id: 'book.09',
901
- src: 'book1',
902
- game: 'traxloop',
903
- notation: '@0/ @1/ B0/ B0/ A0/ A5/ @3\\ @4/',
904
- icon: '1d:1cd:dfdc:cacd:0fdc',
905
- level: 3,
906
- player: 1,
907
- max: 15,
908
- hint: 'A2\\',
909
- },
910
- {
911
- id: 'book.10',
912
- src: 'book1',
913
- game: 'traxloop',
914
- notation: '@0/ A0+ A0/ A4+ A0/ A0/ B4+ C4/ @4+ @4/ @4/',
915
- icon: '2caf:2dfa:2caf:cdeeec:fafd:2b',
916
- level: 2,
917
- player: 2,
918
- max: 18,
919
- hints: ['D7\\', 'E6+'],
920
- },
921
- {
922
- id: 'book.11',
923
- src: 'book1',
924
- game: 'traxloop',
925
- notation: '@0+ B1+ C1/ C0/ B0/ @3+',
926
- icon: '1d:1cd:eeec',
927
- level: 1,
928
- player: 1,
929
- max: 9,
930
- hint: 'B1\\',
931
- },
932
- {
933
- id: 'book.12',
934
- src: 'book1',
935
- game: 'traxloop',
936
- notation: '@0+ B1+ C1/ C0/ B0/ D2+',
937
- icon: '0d:0cde:eecd',
938
- level: 3,
939
- player: 1,
940
- max: 15,
941
- hints: ['B4\\', 'C4/'],
942
- },
943
- {
944
- id: 'book.13',
945
- src: 'book1',
946
- game: 'traxloop',
947
- notation: '@0/ @1/ B2+ A0\\ @1+ @1\\ C4/ B4/',
948
- icon: 'aefa:1cd:1fb:0dc',
949
- level: 3,
950
- player: 1,
951
- max: 15,
952
- hint: 'C5\\',
953
- },
954
- {
955
- id: 'book.15',
956
- src: 'book1',
957
- game: 'traxloop',
958
- notation: '@0/ A0/ @1+ A0\\ C1+ D1+ B0+ A0/ @5+ A2/ A0+ @1\\ A4+ @4+',
959
- icon: 'caef:dfdca:cacdef:eefafbb:0faec:0aefd',
960
- level: 3,
961
- player: 1,
962
- max: 21,
963
- hints: ['B7\\', 'C7/'],
964
- },
965
- {
966
- id: 'book.17',
967
- src: 'book1',
968
- game: 'traxloop',
969
- notation: '@0/ @1/ B0+ C1/ @1\\ B0/ C0/ D0+ A2+ @2+',
970
- icon: '2de:eecaf:0fdec:0acd',
971
- level: 3,
972
- player: 1,
973
- max: 19,
974
- hints: ['A1/', 'B1\\'],
975
- },
976
- {
977
- id: 'book.18',
978
- src: 'book1',
979
- game: 'traxloop',
980
- notation: '@0+ B1+ C1/ B2\\ B3\\ B4\\ B5\\',
981
- icon: 'eec:0fd:0ac:0fd:0ac',
982
- level: 2,
983
- player: 2,
984
- max: 14,
985
- hint: 'D3+',
986
- },
987
- {
988
- id: 'book.19',
989
- src: 'book1',
990
- game: 'traxloop',
991
- notation: '@0+ B1+ @1/ @1/ B2\\',
992
- icon: 'cdee:fa',
993
- level: 2,
994
- player: 2,
995
- max: 12,
996
- hint: 'E1\\',
997
- },
998
- {
999
- id: 'book.20',
1000
- src: 'book1',
1001
- game: 'traxloop',
1002
- notation: '@0/ @1/ B0+ B0/ C3+ D3+ E3\\',
1003
- icon: '0c:de:cdeef',
1004
- level: 2,
1005
- player: 2,
1006
- max: 14,
1007
- hints: ['C4+', 'B4\\'],
1008
- },
1009
- {
1010
- id: 'book.23',
1011
- src: 'book1',
1012
- game: 'traxloop',
1013
- notation: '@0+ @1\\ @1\\ @1\\ @1+ A0+ @1/ B3\\ E3/',
1014
- icon: 'cb:fbafae:0a1d',
1015
- level: 2,
1016
- player: 2,
1017
- max: 12,
1018
- hint: 'F1+',
1019
- },
1020
- {
1021
- id: 'book.25',
1022
- src: 'book1',
1023
- game: 'traxloop',
1024
- notation: '@0/ @1/ B0/ B0+ C1/ C0+ B0/ A2+ @1/ @3\\',
1025
- icon: '0cdca:0fbde:facbd:afdc:facd',
1026
- level: 3,
1027
- player: 1,
1028
- max: 17,
1029
- hint: 'B0+',
1030
- },
1031
- {
1032
- id: 'book.26',
1033
- src: 'book1',
1034
- game: 'traxloop',
1035
- notation: '@0/ @1/ @1/ @1+ A0\\ B0+ @3/ @3/',
1036
- icon: '1cbaf:cdfafa:dcbdcd',
1037
- level: 4,
1038
- player: 1,
1039
- max: 21,
1040
- hint: 'B4\\',
1041
- },
1042
- {
1043
- id: 'book.28',
1044
- src: 'book1',
1045
- game: 'traxloop',
1046
- notation: '@0/ @1/ B0/ C1/ C0/ @2+ A0+ D0+ @2\\ @3+ A4/ @4\\ A2/',
1047
- icon: '3cde:dcaefaf:aefdcdc:fdcbdcd:0afacdc',
1048
- level: 2,
1049
- player: 2,
1050
- max: 20,
1051
- hint: 'G6+',
1052
- },
1053
- {
1054
- id: 'book.29',
1055
- src: 'book1',
1056
- game: 'traxloop',
1057
- notation: '@0/ B1+ B2\\ B3/',
1058
- icon: 'de:af:0c',
1059
- level: 3,
1060
- player: 1,
1061
- max: 13,
1062
- hint: '@2/',
1063
- },
1064
- {
1065
- id: 'book.30',
1066
- src: 'book1',
1067
- game: 'traxloop',
1068
- notation:
1069
- '@0/ @1/ @1/ D1+ A2+ E1+ E2+ E0+ F1\\ G1+ G2\\ F3+ E4\\ G3+ H2\\ C5\\ D5+ D6\\ D7\\',
1070
- icon: '3efba:dcdeecaf:bdcdeeec:0afafd:0faec:2fd:2ac',
1071
- level: 4,
1072
- player: 2,
1073
- max: 30,
1074
- hints: ['H4/', 'G4\\'],
1075
- },
1076
- {
1077
- id: 'book.31',
1078
- src: 'book1',
1079
- game: 'traxloop',
1080
- notation: '@0/ @1/ C1/ A2+ B3+ A3/ D3\\ B4\\ D4+ C5+ E2\\ E3+',
1081
- icon: 'cdcaf:ecdfa:decae:afde:1bd',
1082
- level: 3,
1083
- player: 1,
1084
- max: 23,
1085
- hints: ['E0/', '@4/'],
1086
- },
1087
- {
1088
- id: 'book.32',
1089
- src: 'book1',
1090
- game: 'traxloop',
1091
- notation: '@0/ @1+ C1/ B2+ A2/ B3+ D2/ E2\\ D3+ F2+ G2\\ G3\\ C4\\ C5+ A4+',
1092
- icon: 'bdc:cbdcaef:fbaeefa:bafd:afb',
1093
- level: 3,
1094
- player: 2,
1095
- max: 24,
1096
- hint: 'G4+',
1097
- },
1098
- {
1099
- id: 'book.35',
1100
- src: 'book1',
1101
- game: 'traxloop',
1102
- notation: '@0+ B1+ A0+ @2+ @2+ @2+ A1+ @1/ E3/',
1103
- icon: 'de1e:aeeeee:2fd',
1104
- level: 4,
1105
- player: 2,
1106
- max: 20,
1107
- hint: 'E4\\',
1108
- },
1109
- {
1110
- id: 'book.38',
1111
- src: 'book1',
1112
- game: 'traxloop',
1113
- notation: '@0/ B1/ C1/ D1/ A2+ E1+ D3\\ E3+ F3+ F4\\ G4\\ F5\\ G5\\',
1114
- icon: 'dcdcb:bdcdca:0afaeef:4fa:4af',
1115
- level: 3,
1116
- player: 2,
1117
- max: 22,
1118
- hint: 'B4+',
1119
- },
1120
- {
1121
- id: 'book.40',
1122
- src: 'book1',
1123
- game: 'traxloop',
1124
- notation: '@0/ @1/ A2+ @2/ @2/ B1+ B3\\',
1125
- icon: 'decd:cdec:fa',
1126
- level: 3,
1127
- player: 2,
1128
- max: 14,
1129
- hint: 'E2+',
1130
- },
1131
- {
1132
- id: 'book.42',
1133
- src: 'book1',
1134
- game: 'traxloop',
1135
- notation: '@0/ B1+ @1+ A2/ A3+ B0+ D2+ E2\\ D1/',
1136
- icon: 'deeca:bdeef:c:d',
1137
- level: 2,
1138
- player: 2,
1139
- max: 16,
1140
- hint: 'F1/',
1141
- },
1142
- {
1143
- id: 'book.43',
1144
- src: 'book1',
1145
- game: 'traxloop',
1146
- notation:
1147
- '@0/ A0/ A0/ A0+ @1\\ C1+ D1/ E1+ F1/ D0+ B1+ A0/ @1+ @1/ D0+ D0\\',
1148
- icon: '2f:2ba:decaf:afdecb:1aeecbd:1fd:1ac:1fd',
1149
- level: 3,
1150
- player: 1,
1151
- max: 27,
1152
- hints: ['E6\\', 'F6/'],
1153
- },
1154
- {
1155
- id: 'book.44',
1156
- src: 'book1',
1157
- game: 'traxloop',
1158
- notation: '@0/ @1/ C1/ D1+ B2/ D3\\ E1\\ D0/ F2+ E4+ F3\\ F4\\',
1159
- icon: '2dfa:cdcbae:0cdcdf:0fafba',
1160
- level: 3,
1161
- player: 1,
1162
- max: 19,
1163
- hint: 'D5+',
1164
- },
1165
- {
1166
- id: 'book.45',
1167
- src: 'book1',
1168
- game: 'traxloop',
1169
- notation: 'A0+ B1+ C1/ C0/ B0/ D2\\ A4\\ A5\\ C4+ @3+',
1170
- icon: '1d:1cdf:eeec:0fde:0acd',
1171
- level: 3,
1172
- player: 1,
1173
- max: 17,
1174
- hint: 'E1/',
1175
- },
1176
- {
1177
- id: 'book.47',
1178
- src: 'book1',
1179
- game: 'traxloop',
1180
- notation: '@0/ A0/ @2+ B0+ B0+ @3\\ @3\\ @3\\ A2/',
1181
- icon: '3b:c1cb:fafdc:2bd',
1182
- level: 2,
1183
- player: 2,
1184
- max: 14,
1185
- hint: 'A1\\',
1186
- },
1187
- {
1188
- id: 'book.49',
1189
- src: 'book1',
1190
- game: 'traxloop',
1191
- notation: '@0/ @1/ @1/ @1/ D0+ @2+ @2/ @2/ @2/ F3\\ G3\\',
1192
- icon: '2cdcde:dcdecdcd:3faf',
1193
- level: 3,
1194
- player: 2,
1195
- max: 16,
1196
- hints: ['A1+', 'A3+'],
1197
- },
1198
- {
1199
- id: 'book.50',
1200
- src: 'book1',
1201
- game: 'traxloop',
1202
- notation: '@0/ @1/ @1/ @1+ @1/ @1/ A0/ A3/ D3+',
1203
- icon: 'c:dcbdcd:cdcbdc',
1204
- level: 3,
1205
- player: 2,
1206
- max: 16,
1207
- hint: 'D1+',
1208
- },
1209
- {
1210
- id: 'book2.132',
1211
- src: 'book2',
1212
- game: 'traxloop',
1213
- notation: '@0+ B1+ C1/ @1\\ D2\\ E2+ D3\\ D4\\',
1214
- icon: 'aeec:2fb:2ac:2fd',
1215
- level: 4,
1216
- player: 1,
1217
- max: 15,
1218
- hint: 'C3\\',
1219
- },
1220
- {
1221
- id: 'book2.148',
1222
- src: 'book2',
1223
- game: 'traxloop',
1224
- notation:
1225
- '@0/ B1\\ A2/ A0/ C1\\ @2/ @2+ A0\\ @2/ @2/ @2/ B4+ A5+ A1+ E0+ E0/ E0/',
1226
- icon: '3ca:3df:0cdcba:efafaf:dcdcdcaf:afaecdf:fbd1c:b',
1227
- level: 4,
1228
- player: 2,
1229
- max: 24,
1230
- hint: 'B2\\',
1231
- },
1232
- ]
1233
-
1234
- puzzles.sort(
1235
- (a, b) => a.level - b.level || a.max - b.max || (a.id < b.id ? -1 : 1),
1236
- )