cm-chess 2.2.0 → 2.3.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cm-chess",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "Like chess.js, but in ES6 and can handle variations (tree-structured move history)",
5
5
  "main": "./src/cm-chess/Chess.js",
6
6
  "scripts": {
@@ -1,77 +0,0 @@
1
- /**
2
- * Author and copyright: Stefan Haack (https://shaack.com)
3
- * Repository: https://github.com/shaack/cm-chess
4
- * License: MIT, see file 'LICENSE'
5
- *
6
- * @deprecated
7
- */
8
-
9
- import {COLOR} from "../Chess.js"
10
-
11
- export const PIECES = {
12
- // https://en.wikipedia.org/wiki/Chess_piece_relative_value
13
- notation: {
14
- de: {
15
- R: "T", N: "S", B: "L", Q: "D", K: "K", P: ""
16
- }
17
- },
18
- figures: {
19
- utf8: {
20
- Rw: "♖", Nw: "♘", Bw: "♗", Qw: "♕", Kw: "♔", Pw: "♙",
21
- Rb: "♜", Nb: "♞", Bb: "♝", Qb: "♛", Kb: "♚", Pb: "♟"
22
- },
23
- fontAwesomePro: {
24
- Rw: '<i class="far fa-fw fa-chess-rook"></i>',
25
- Nw: '<i class="far fa-fw fa-chess-knight"></i>',
26
- Bw: '<i class="far fa-fw fa-chess-bishop"></i>',
27
- Qw: '<i class="far fa-fw fa-chess-queen"></i>',
28
- Kw: '<i class="far fa-fw fa-chess-king"></i>',
29
- Pw: '<i class="far fa-fw fa-chess-pawn"></i>',
30
- Rb: '<i class="fas fa-fw fa-chess-rook"></i>',
31
- Nb: '<i class="fas fa-fw fa-chess-knight"></i>',
32
- Bb: '<i class="fas fa-fw fa-chess-bishop"></i>',
33
- Qb: '<i class="fas fa-fw fa-chess-queen"></i>',
34
- Kb: '<i class="fas fa-fw fa-chess-king"></i>',
35
- Pb: '<i class="fas fa-fw fa-chess-pawn"></i>'
36
- }
37
- }
38
- }
39
-
40
- // noinspection JSUnusedGlobalSymbols
41
- export class ChessRender {
42
- static san(san, color = COLOR.white, lang = "en", mode = "text", pieces = PIECES.figures.utf8) {
43
- // console.warn("ChessRender is deprecated and will be removed in future")
44
- if(mode === "figures") {
45
- if (color === COLOR.white) {
46
- return this.replaceAll(san, {
47
- "R": pieces.Rw,
48
- "N": pieces.Nw,
49
- "B": pieces.Bw,
50
- "Q": pieces.Qw,
51
- "K": pieces.Kw
52
- })
53
- } else {
54
- return this.replaceAll(san, {
55
- "R": pieces.Rb,
56
- "N": pieces.Nb,
57
- "B": pieces.Bb,
58
- "Q": pieces.Qb,
59
- "K": pieces.Kb
60
- })
61
- }
62
- } else if(mode === "text") {
63
- return this.replaceAll(san, PIECES.notation[lang])
64
- } else {
65
- console.error("mode must be 'text' or 'figures'")
66
- }
67
- }
68
- static replaceAll(str, replacementsObj, ignoreCase = false) {
69
- let retStr = str
70
- const flags = ignoreCase ? "gi" : "g"
71
- for (let needle in replacementsObj) {
72
- // noinspection JSUnfilteredForInLoop
73
- retStr = retStr.replace(new RegExp(needle, flags), replacementsObj[needle])
74
- }
75
- return retStr
76
- }
77
- }
@@ -1,416 +0,0 @@
1
- /**
2
- * Author and copyright: Stefan Haack (https://shaack.com)
3
- * Repository: https://github.com/shaack/cm-chess
4
- * License: MIT, see file 'LICENSE'
5
- *
6
- * @deprecated
7
- */
8
-
9
- const openings = [
10
- {
11
- "moves": "d2d4d7d5e2e4d5e4b1c3g8f6f2f3e4f3",
12
- "name_de": "BDG",
13
- "name_en": "BDG",
14
- "descriptionLink_de": "Blackmar-Diemer-Gambit",
15
- "descriptionLink_en": "Blackmar–Diemer_Gambit"
16
- },
17
- {
18
- "moves": "d2d4g8f6c2c4e7e6g1f3c7c5d4d5b7b5",
19
- "name_de": "Blumfeld-Gambit",
20
- "name_en": "Blumenfeld Gambit",
21
- "descriptionLink_de": "Blumenfeld-Gambit",
22
- "descriptionLink_en": "Blumenfeld_Gambit"
23
- },
24
- {
25
- "moves": "c2c4g8f6d2d4e7e6g1f3c7c5d4d5b7b5",
26
- "name_de": "Blumfeld-Gambit",
27
- "name_en": "Blumenfeld Gambit",
28
- "descriptionLink_de": "Blumenfeld-Gambit",
29
- "descriptionLink_en": "Blumenfeld_Gambit"
30
- },
31
- {
32
- "moves": "d2d4g8f6c2c4g7g6b1c3f8g7e2e4d7d6",
33
- "name_de": "Königsindisch",
34
- "name_en": "King's Indian Def.",
35
- "descriptionLink_de": "Königsindische_Verteidigung",
36
- "descriptionLink_en": "King%27s_Indian_Defence"
37
- },
38
- {
39
- "moves": "c2c4g8f6d2d4g7g6b1c3f8g7e2e4d7d6",
40
- "name_de": "Königsindisch",
41
- "name_en": "King's Indian Def.",
42
- "descriptionLink_de": "Königsindische_Verteidigung",
43
- "descriptionLink_en": "King%27s_Indian_Defence"
44
- },
45
- {
46
- "moves": "e2e4e7e5d2d4e5d4c2c3d4c3f1c4",
47
- "name_de": "Nordisches Gambit",
48
- "name_en": "Danish Gambit",
49
- "descriptionLink_de": "Nordisches_Gambit",
50
- "descriptionLink_en": "Danish_Gambit"
51
- },
52
- {
53
- "moves": "d2d4g8f6c2c4e7e6g1f3f8b4",
54
- "name_de": "Bogoindisch",
55
- "name_en": "Bogo-Indian",
56
- "descriptionLink_de": "Bogoljubow-Indische_Verteidigung",
57
- "descriptionLink_en": "Bogo-Indian_Defence"
58
- },
59
- {
60
- "moves": "c2c4g8f6d2d4e7e6g1f3f8b4",
61
- "name_de": "Bogoindisch",
62
- "name_en": "Bogo-Indian",
63
- "descriptionLink_de": "Bogoljubow-Indische_Verteidigung",
64
- "descriptionLink_en": "Bogo-Indian_Defence"
65
- },
66
- {
67
- "moves": "d2d4g8f6c2c4e7e5d4e5f6g4",
68
- "name_de": "Budapester Gambit",
69
- "name_en": "Budapest Gambit",
70
- "descriptionLink_de": "Budapester_Gambit",
71
- "descriptionLink_en": "Budapest_Gambit"
72
- },
73
- {
74
- "moves": "c2c4g8f6d2d4e7e5d4e5f6g4",
75
- "name_de": "Budapester Gambit",
76
- "name_en": "Budapest Gambit",
77
- "descriptionLink_de": "Budapester_Gambit",
78
- "descriptionLink_en": "Budapest_Gambit"
79
- },
80
- {
81
- "moves": "d2d4g8f6c2c4e7e6g1f3b7b6",
82
- "name_de": "Damenindisch",
83
- "name_en": "Queen's Indian",
84
- "descriptionLink_de": "Damenindische_Verteidigung",
85
- "descriptionLink_en": "Queen%27s_Indian_Defense"
86
- },
87
- {
88
- "moves": "c2c4g8f6d2d4e7e6g1f3b7b6",
89
- "name_de": "Damenindisch",
90
- "name_en": "Queen's Indian",
91
- "descriptionLink_de": "Damenindische_Verteidigung",
92
- "descriptionLink_en": "Queen%27s_Indian_Defense"
93
- },
94
- {
95
- "moves": "d2d4g8f6c2c4g7g6b1c3d7d5",
96
- "name_de": "Grünfeld-Indisch",
97
- "name_en": "Grünfeld Defence",
98
- "descriptionLink_de": "Grünfeld-Indische_Verteidigung",
99
- "descriptionLink_en": "Grünfeld_Defence"
100
- },
101
- {
102
- "moves": "c2c4g8f6d2d4g7g6b1c3d7d5",
103
- "name_de": "Grünfeld-Indisch",
104
- "name_en": "Grünfeld Defence",
105
- "descriptionLink_de": "Grünfeld-Indische_Verteidigung",
106
- "descriptionLink_en": "Grünfeld_Defence"
107
- },
108
- {
109
- "moves": "e2e4e7e5g1f3b8c6f1c4f8c5",
110
- "name_de": "Italienisch",
111
- "name_en": "Giuoco Piano",
112
- "descriptionLink_de": "Italienische_Partie",
113
- "descriptionLink_en": "Giuoco_Piano"
114
- },
115
- {
116
- "moves": "d2d4g8f6c2c4e7e6b1c3f8b4",
117
- "name_de": "Nimzo-Indisch",
118
- "name_en": "Nimzo-Indian Def.",
119
- "descriptionLink_de": "Nimzowitsch-Indische_Verteidigung",
120
- "descriptionLink_en": "Nimzo-Indian_Defence"
121
- },
122
- {
123
- "moves": "d2d4e7e6c2c4g8f6b1c3f8b4",
124
- "name_de": "Nimzo-Indisch",
125
- "name_en": "Nimzo-Indian Def.",
126
- "descriptionLink_de": "Nimzowitsch-Indische_Verteidigung",
127
- "descriptionLink_en": "Nimzo-Indian_Defence"
128
- },
129
- {
130
- "moves": "c2c4g8f6d2d4e7e6b1c3f8b4",
131
- "name_de": "Nimzo-Indisch",
132
- "name_en": "Nimzo-Indian Def.",
133
- "descriptionLink_de": "Nimzowitsch-Indische_Verteidigung",
134
- "descriptionLink_en": "Nimzo-Indian_Defence"
135
- },
136
- {
137
- "moves": "e2e4e7e5g1f3b8c6d2d4e5d4",
138
- "name_de": "Schottisch",
139
- "name_en": "Scotch Game",
140
- "descriptionLink_de": "Schottische_Partie",
141
- "descriptionLink_en": "Scotch_Game"
142
- },
143
- {
144
- "moves": "e2e4e7e5g1f3b8c6f1c4f8e7",
145
- "name_de": "Ungarisch",
146
- "name_en": "Hungarian Defence",
147
- "descriptionLink_de": "Ungarische_Verteidigung",
148
- "descriptionLink_en": "Hungarian_Defense"
149
- },
150
- {
151
- "moves": "e2e4e7e5g1f3b8c6b1c3g8f6",
152
- "name_de": "Vierspringerspiel",
153
- "name_en": "Four Knights Game",
154
- "descriptionLink_de": "Vierspringerspiel",
155
- "descriptionLink_en": "Four_Knights_Game"
156
- },
157
- {
158
- "moves": "d2d4g8f6c2c4c7c5d4d5b7b5",
159
- "name_de": "Wolga-Gambit",
160
- "name_en": "Benko Gambit",
161
- "descriptionLink_de": "Wolga-Gambit",
162
- "descriptionLink_en": "Benko_Gambit"
163
- },
164
- {
165
- "moves": "c2c4g8f6d2d4c7c5d4d5b7b5",
166
- "name_de": "Wolga-Gambit",
167
- "name_en": "Benko Gambit",
168
- "descriptionLink_de": "Wolga-Gambit",
169
- "descriptionLink_en": "Benko_Gambit"
170
- },
171
- {
172
- "moves": "e2e4e7e5g1f3b8c6f1c4g8f6",
173
- "name_de": "Zweispringerspiel",
174
- "name_en": "Two Knights Def.",
175
- "descriptionLink_de": "Zweispringerspiel_im_Nachzuge",
176
- "descriptionLink_en": "Two_Knights_Defense"
177
- },
178
- {
179
- "moves": "d2d4g8f6c2c4e7e6g2g3",
180
- "name_de": "Katalanisch",
181
- "name_en": "Catalan Opening",
182
- "descriptionLink_de": "Katalanische_Eröffnung",
183
- "descriptionLink_en": "Catalan_Opening"
184
- },
185
- {
186
- "moves": "c2c4g8f6d2d4e7e6g2g3",
187
- "name_de": "Katalanisch",
188
- "name_en": "Catalan Opening",
189
- "descriptionLink_de": "Katalanische_Eröffnung",
190
- "descriptionLink_en": "Catalan_Opening"
191
- },
192
- {
193
- "moves": "e2e4e7e5g1f3b8c6c2c3",
194
- "name_de": "Ponziani",
195
- "name_en": "Ponziani Opening",
196
- "descriptionLink_de": "Ponziani-Eröffnung",
197
- "descriptionLink_en": "Ponziani_Opening"
198
- },
199
- {
200
- "moves": "e2e4e7e5g1f3b8c6f1b5",
201
- "name_de": "Spanisch",
202
- "name_en": "Ruy Lopez",
203
- "descriptionLink_de": "Spanische_Partie",
204
- "descriptionLink_en": "Ruy_Lopez"
205
- },
206
- {
207
- "moves": "d2d4g8f6c2c4d7d6",
208
- "name_de": "Altindisch",
209
- "name_en": "Old Indian Defence",
210
- "descriptionLink_de": "Altindische_Verteidigung",
211
- "descriptionLink_en": "Old_Indian_Defense"
212
- },
213
- {
214
- "moves": "c2c4g8f6d2d4d7d6",
215
- "name_de": "Altindisch",
216
- "name_en": "Old Indian Defence",
217
- "descriptionLink_de": "Altindische_Verteidigung",
218
- "descriptionLink_en": "Old_Indian_Defense"
219
- },
220
- {
221
- "moves": "d2d4g8f6c2c4c7c5",
222
- "name_de": "Benoni",
223
- "name_en": "Benoni Defence",
224
- "descriptionLink_de": "Benoni-Verteidigung",
225
- "descriptionLink_en": "Benoni_Defense"
226
- },
227
- {
228
- "moves": "c2c4g8f6d2d4c7c5",
229
- "name_de": "Benoni",
230
- "name_en": "Benoni Defence",
231
- "descriptionLink_de": "Benoni-Verteidigung",
232
- "descriptionLink_en": "Benoni_Defense"
233
- },
234
- {
235
- "moves": "d2d4g8f6c2c4b8c6",
236
- "name_de": "Mexikanisch",
237
- "name_en": "King's Indian Def.",
238
- "descriptionLink_de": "Mexikanische_Verteidigung",
239
- "descriptionLink_en": "Black_Knights%27_Tango"
240
- },
241
- {
242
- "moves": "c2c4g8f6d2d4b8c6",
243
- "name_de": "Mexikanisch",
244
- "name_en": "Black Knights' Tango",
245
- "descriptionLink_de": "Mexikanische_Verteidigung",
246
- "descriptionLink_en": "Black_Knights%27_Tango"
247
- },
248
- {
249
- "moves": "e2e4e7e5d2d4e5d4",
250
- "name_de": "Mittelgambit",
251
- "name_en": "Center Game",
252
- "descriptionLink_de": "Mittelgambit",
253
- "descriptionLink_en": "Center_Game"
254
- },
255
- {
256
- "moves": "e2e4e7e5g1f3d7d6",
257
- "name_de": "Philidor",
258
- "name_en": "Philidor Defence",
259
- "descriptionLink_de": "Philidor-Verteidigung",
260
- "descriptionLink_en": "Philidor_Defence"
261
- },
262
- {
263
- "moves": "e2e4e7e5g1f3g8f6",
264
- "name_de": "Russisch",
265
- "name_en": "Russian",
266
- "descriptionLink_de": "Russische_Verteidigung",
267
- "descriptionLink_en": "Petrov%27s_Defence"
268
- },
269
- {
270
- "moves": "e2e4e7e5g1e2",
271
- "name_de": "Alapin",
272
- "name_en": "Alapin's Opening",
273
- "descriptionLink_de": "Alapin-Eröffnung",
274
- "descriptionLink_en": "Alapin%27s_Opening"
275
- },
276
- {
277
- "moves": "d2d4d7d5c2c4",
278
- "name_de": "Damengambit",
279
- "name_en": "Queen's Gambit",
280
- "descriptionLink_de": "Damengambit",
281
- "descriptionLink_en": "Queen%27s_Gambit"
282
- },
283
- {
284
- "moves": "d2d4g8f6c2c4",
285
- "name_de": "Indisch",
286
- "name_en": "Indian Defence",
287
- "descriptionLink_de": "Indische_Verteidigung",
288
- "descriptionLink_en": "Indian_Defence"
289
- },
290
- {
291
- "moves": "c2c4g8f6d2d4",
292
- "name_de": "Indisch",
293
- "name_en": "Indian Defence",
294
- "descriptionLink_de": "Indische_Verteidigung",
295
- "descriptionLink_en": "Indian_Defence"
296
- },
297
- {
298
- "moves": "e2e4e7e5f2f4",
299
- "name_de": "Königsgambit",
300
- "name_en": "King's Gambit",
301
- "descriptionLink_de": "Königsgambit",
302
- "descriptionLink_en": "King%27s_Gambit"
303
- },
304
- {
305
- "moves": "e2e4e7e5f1c4",
306
- "name_de": "Läuferspiel",
307
- "name_en": "Bishop's Opening",
308
- "descriptionLink_de": "Läuferspiel",
309
- "descriptionLink_en": "Bishop%27s_Opening"
310
- },
311
- {
312
- "moves": "e2e4d7d5e4d5",
313
- "name_de": "Skandinavisch",
314
- "name_en": "Scandinavian Def.",
315
- "descriptionLink_de": "Skandinavische_Verteidigung",
316
- "descriptionLink_en": "Scandinavian_Defense"
317
- },
318
- {
319
- "moves": "e2e4g8f6",
320
- "name_de": "Aljechin",
321
- "name_en": "Alekhine's Defence",
322
- "descriptionLink_de": "Aljechin-Verteidigung",
323
- "descriptionLink_en": "Alekhine%27s_Defence"
324
- },
325
- {
326
- "moves": "e2e4c7c6",
327
- "name_de": "Caro-Kann",
328
- "name_en": "Caro–Kann Defence",
329
- "descriptionLink_de": "Caro-Kann",
330
- "descriptionLink_en": "Caro–Kann_Defence"
331
- },
332
- {
333
- "moves": "d2d4d7d5",
334
- "name_de": "Damenbauernspiel",
335
- "name_en": "Queen's Pawn Game",
336
- "descriptionLink_de": "Damenbauernspiel",
337
- "descriptionLink_en": "Queen%27s_Pawn_Game"
338
- },
339
- {
340
- "moves": "e2e4e7e6",
341
- "name_de": "Französisch",
342
- "name_en": "French Defence",
343
- "descriptionLink_de": "Französische_Verteidigung",
344
- "descriptionLink_en": "French_Defence"
345
- },
346
- {
347
- "moves": "d2d4f7f5",
348
- "name_de": "Holländisch",
349
- "name_en": "Dutch Defence",
350
- "descriptionLink_de": "Holländische_Verteidigung",
351
- "descriptionLink_en": "Dutch_Defence"
352
- },
353
- {
354
- "moves": "e2e4d7d6",
355
- "name_de": "Jugoslawisch",
356
- "name_en": "Pirc Defence",
357
- "descriptionLink_de": "Pirc-Ufimzew-Verteidigung",
358
- "descriptionLink_en": "Pirc_Defence"
359
- },
360
- {
361
- "moves": "e2e4b8c6",
362
- "name_de": "Nimzowitsch",
363
- "name_en": "Nimzowitsch Def.",
364
- "descriptionLink_de": "Nimzowitsch-Verteidigung",
365
- "descriptionLink_en": "Nimzowitsch_Defence"
366
- },
367
- {
368
- "moves": "e2e4b7b5",
369
- "name_de": "Owen",
370
- "name_en": "Owen's Defence",
371
- "descriptionLink_de": "Owen-Verteidigung",
372
- "descriptionLink_en": "Owen%27s_Defence"
373
- },
374
- {
375
- "moves": "e2e4g7g6",
376
- "name_de": "Robatsch",
377
- "name_en": "Robatsch Defence",
378
- "descriptionLink_de": "Moderne_Verteidigung",
379
- "descriptionLink_en": "Modern_Defense"
380
- },
381
- {
382
- "moves": "e2e4c7c5",
383
- "name_de": "Sizilianisch",
384
- "name_en": "Sicilian Defence",
385
- "descriptionLink_de": "Sizilianische_Verteidigung",
386
- "descriptionLink_en": "Sicilian_Defence"
387
- },
388
- {
389
- "moves": "c2c4",
390
- "name_de": "Englisch",
391
- "name_en": "English Opening",
392
- "descriptionLink_de": "Englische_Eröffnung",
393
- "descriptionLink_en": "English_Opening"
394
- },
395
- {
396
- "moves": "b2b4",
397
- "name_de": "Orang Utan",
398
- "name_en": "Orangutan",
399
- "descriptionLink_de": "Orang-Utan_(Schach)",
400
- "descriptionLink_en": "Sokolsky_Opening"
401
- }
402
- ];
403
-
404
- export function detect(moves) {
405
- console.warn("Openings is deprecated")
406
- let i;
407
- for (i in openings) {
408
- const opening = openings[i];
409
- if (opening.moves.length <= moves.length) {
410
- const movesTruncated = moves.substring(0, opening.moves.length);
411
- if (movesTruncated === opening.moves) {
412
- return opening;
413
- }
414
- }
415
- }
416
- }
@@ -1,3 +0,0 @@
1
- # Deprecated
2
-
3
- These tools will be moved somewhere else in future versions, don't use them.