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