Maybe we can finally get rid of these code bits which shouldn't be required ?
[xogo.git] / variants.js
1 const variants = [
2 // TODO: https://mancala.fandom.com/wiki/William_Daniel_Troyka Cleopatra chess
3 {name: 'Absorption', desc: 'Absorb powers'},
4 // {name: 'Alapo', desc: 'Geometric Chess'},
5 // {name: 'Alice', desc: 'Both sides of the mirror'},
6 // {name: 'Align4', desc: 'Align four pawns'},
7 // {name: 'Allmate', desc: 'Mate any piece'},
8 // {name: 'Ambiguous', desc: "Play opponent's pieces"},
9 // {name: 'Antiking1', desc: 'Keep antiking in check', disp: 'Anti-King'},
10 // {name: 'Antimatter', desc: 'Dangerous collisions'},
11 // {name: 'Apocalypse', desc: 'The end of the world'},
12 // {name: 'Arena', desc: 'Middle battle'},
13 // {name: 'Atarigo', desc: 'First capture wins', disp: 'Atari-Go'},
14 {name: 'Atomic', desc: 'Explosive captures'},
15 // {name: 'Avalam', desc: 'Build towers'},
16 // {name: 'Avalanche', desc: 'Pawnfalls'},
17 // {name: 'Ball', desc: 'Score a goal'},
18 // {name: 'Balaklava', desc: 'Meet the Mammoth'},
19 // {name: 'Bario', desc: 'A quantum story'},
20 {name: "Balanced", desc: "balanced chess"},
21 // {name: 'Baroque', desc: 'Exotic captures'},*/
22 {name: "Benedict", desc: "Change colors"},
23 // {name: 'Berolina', desc: 'Pawns move diagonally'},
24 // {name: 'Bicolour', desc: 'Harassed kings'},
25 // {name: 'Brotherhood', desc: 'Friendly pieces'},
26 {name: 'Cannibal', desc: 'Capture powers'},
27 // {name: 'Capablanca', desc: 'Capablanca Chess', disp: 'Capablanca Chess'},
28 {name: 'Capture', desc: 'Mandatory captures'},
29 // {name: 'Castle', desc: 'Win by castling long'},
30 // {name: 'Chakart', desc: 'Capture the princess'},
31 // {name: 'Checkered', desc: 'Shared pieces'},
32 // {name: 'Checkless', desc: 'No-check mode'},
33 {name: 'Chess960', disp: "Chess 960", desc: "Standard rules"},
34 // {name: 'Circular', desc: 'Run forward'},
35 // {name: 'Clorange', desc: 'A Clockwork Orange', disp: 'Clockwork Orange'},
36 // {name: 'Convert', desc: 'Convert enemy pieces'},
37 // {name: 'Copycat', desc: 'Borrow powers'},
38 // {name: 'Coregal', desc: 'Two royal pieces'},
39 // {name: 'Coronation', desc: 'Long live the Queen'},
40 {name: 'Crazyhouse', desc: 'Captures reborn'},
41 // {name: 'Crossing', desc: 'Cross the river'},
42 {name: 'Cylinder', desc: 'Neverending rows'},
43 // {name: 'Cwda', desc: 'New teams', disp: 'Different armies'},
44 {name: 'Dark', desc: 'In the shadow'},
45 // {name: 'Diamond', desc: 'Rotating board'},
46 // {name: 'Dice', desc: 'Roll the dice'},
47 // {name: 'Discoduel', desc: 'Enter the disco', disp: 'Disco Duel'},
48 // {name: 'Dobutsu', desc: "Let's catch the Lion!"},
49 // {name: 'Doublearmy', desc: '64 pieces on the board', disp: 'Double Army'},
50 {name: 'Doublemove', desc: 'Double moves'},
51 // {name: 'Dynamo', desc: 'Push and pull'},
52 // {name: 'Eightpieces', desc: 'Each piece is unique', disp: '8 Pieces'},
53 // {name: 'Emergo', desc: 'Stacking Checkers variant'},
54 // {name: 'Empire', desc: 'Empire versus Kingdom'},
55 // {name: 'Enpassant', desc: 'Capture en passant', disp: 'En-passant'},
56 // {name: 'Evolution', desc: 'Faster development'},
57 // {name: 'Extinction', desc: 'Capture all of a kind'},
58 // {name: 'Fanorona', desc: 'Malagasy Draughts'},
59 // {name: 'Football', desc: 'Score a goal'},
60 // {name: 'Forward', desc: 'Moving forward'},
61 // {name: 'Freecapture', desc: 'Capture both colors', disp: 'Free Capture'},
62 // {name: 'Fugue', desc: 'Baroque Music'},
63 // {name: 'Fullcavalry', desc: 'Lancers everywhere', disp: 'Full Cavalry'},
64 // {name: 'Fusion', desc: 'Fusion pieces (v1)'},
65 // {name: 'Gomoku', desc: 'Align five stones'},
66 // {name: 'Grand', desc: 'Big board'},
67 // {name: 'Grasshopper', desc: 'Long jumps over pieces'},
68 // {name: 'Gridolina', desc: 'Jump the borders'},
69 // {name: 'Hamilton', desc: 'Walk on a graph'},
70 {name: 'Hex', desc: 'Connect sides'},
71 // {name: 'Hidden', desc: 'Unidentified pieces', disp: 'Strate-Go'},
72 // {name: 'Hiddenqueen', desc: 'Queen disguised as a pawn', disp: 'Hidden Queen'},
73 // {name: 'Hoppelpoppel', desc: 'Knibis and Bisknis', disp: 'Hoppel-Poppel'},
74 // {name: 'Horde', desc: 'A pawns cloud'},
75 // {name: 'Hypnotic', desc: 'Mind control (v1)'},
76 // {name: 'Iceage', desc: 'Ice Age is coming!', disp: 'Ice Age'},
77 // {name: 'Interweave', desc: 'Interweaved colorbound teams'},
78 // {name: 'Isardam', desc: 'No paralyzed pieces'},
79 // {name: 'Janggi', desc: 'Korean Chess'},
80 // {name: 'Joker', desc: 'Replace pieces'},
81 // {name: 'Karouk', desc: 'Thai Chess (v3)', disp: 'Kar-Ouk'},
82 // {name: 'Kinglet', desc: 'Protect your pawns'},
83 // {name: 'Kingsmaker', desc: 'Promote into kings'},
84 // {name: 'Knightmate', desc: 'Mate the knight'},
85 // {name: 'Knightrelay', desc: 'Move like a knight'},
86 // {name: 'Konane', desc: 'Hawaiian Checkers'},
87 // {name: 'Koopa', desc: 'Stun & kick pieces'},
88 // {name: 'Koth', desc: 'King of the Hill', disp:'King of the Hill'},
89 // {name: 'Losers', desc: 'Get strong at self-mate'},
90 // {name: 'Madhouse', desc: 'Rearrange enemy pieces'},
91 {name: 'Madrasi', desc: 'Paralyzed pieces'},
92 // {name: 'Magnetic', desc: 'Laws of attraction'},
93 // {name: 'Maharajah', desc: 'Augmented Queens'},
94 // {name: 'Makpong', desc: 'Thai Chess (v2)'},
95 // {name: 'Makruk', desc: 'Thai Chess (v1)'},
96 // {name: 'Maxima', desc: 'Occupy the enemy palace'},
97 // {name: 'Mesmer', desc: 'Mind control (v2)'},
98 // {name: 'Minishogi', desc: 'Shogi 5 x 5'},
99 // {name: 'Minixiangqi', desc: 'Xiangqi 7 x 7'},
100 // {name: 'Monocolor', desc: 'All of the same color'},
101 // {name: 'Monster', desc: 'White move twice'},
102 // {name: 'Musketeer', desc: 'New fairy pieces'},
103 // {name: 'Newzealand', desc: 'Kniros and Rosknis', disp: 'New-Zealand'},
104 // {name: 'Omega', desc: 'A wizard in the corner'},
105 // {name: 'Orda', desc: 'Mongolian Horde (v1)'},
106 // {name: 'Ordamirror', desc: 'Mongolian Horde (v2)', disp: 'Orda Mirror'},
107 // {name: 'Otage', desc: 'Capture and release hostages'},
108 // {name: 'Pacifist', desc: 'Convert & support'},
109 // {name: 'Pacosako', desc: 'Dance with the King', disp: 'Paco-Sako'},
110 // {name: 'Pandemonium', desc: 'Noise and confusion'},
111 // {name: 'Parachute', desc: 'Landing on the board'},
112 // {name: 'Pawnmassacre', desc: 'Pieces upside down', disp: 'Pawn Massacre'},
113 // {name: 'Pawns', desc: 'Reach the last rank (v1)'},
114 // {name: 'Pawnsking', desc: 'Reach the last rank (v2)', disp: 'Pawns & King'},
115 // {name: 'Perfect', desc: 'Powerful pieces'},
116 // {name: 'Pocketknight', desc: 'Knight in pocket', disp: 'Pocket Knight'},
117 {name: 'Progressive', desc: 'Play more and more moves'},
118 // {name: 'Racingkings', desc: 'Kings cross the 8x8 board', disp: 'Racing Kings'},
119 // {name: 'Rampage', desc: 'Move under cover'},
120 // {name: 'Relayup', desc: 'Upgrade pieces', disp: 'Relay-up'},
121 {name: 'Rifle', desc: 'Shoot pieces'},
122 {name: 'Recycle', desc: 'Reuse pieces'},
123 // {name: 'Refusal', desc: 'Do not play that!'},
124 // {name: 'Rollerball', desc: 'As in the movie'},
125 // {name: 'Rococo', desc: 'Capture on the edge'},
126 // {name: 'Royalrace', desc: 'Kings cross the 11x11 board', disp: 'Royal Race'},
127 // {name: 'Rugby', desc: 'Transform an essay'},
128 // {name: 'Schess', desc: 'Seirawan-Harper Chess', disp: 'S-Chess'},
129 // {name: 'Screen', desc: 'Free initial setup'},
130 // {name: 'Selfabsorb', desc: 'Fusion pieces (v2)', disp: 'Self-Absorption'},
131 // {name: 'Shako', desc: 'Non-conformism and utopia'},
132 // {name: 'Shatranj', desc: 'Ancient rules'},
133 // {name: 'Shinobi', desc: 'A story of invasion'},
134 // {name: 'Shogi', desc: 'Japanese Chess'},
135 // {name: 'Shogun', desc: "General's Chess"},
136 // {name: 'Sittuyin', desc: 'Burmese Chess'},
137 // {name: 'Spartan', desc: 'Spartan versus Persians'},
138 // {name: 'Squatter', desc: 'Squat last rank'},
139 // {name: 'Stealthbomb', desc: 'Beware the bomb'},
140 // {name: 'Suicide', desc: 'Lose all pieces'},
141 // {name: 'Suction', desc: 'Attract opposite king'},
142 // {name: 'Swap', desc: 'Dangerous captures'},
143 // {name: 'Switching', desc: "Exchange pieces' positions"},
144 // {name: 'Synchrone', desc: 'Play at the same time'},
145 // {name: 'Synochess', desc: 'Dynasty versus Kingdom'},
146 // {name: 'Takenmake', desc: 'Prolongated captures', disp: 'Take and make'},
147 {name: 'Teleport', desc: 'Reposition pieces'},
148 // {name: 'Tencubed', desc: 'Four new pieces'},
149 // {name: 'Threechecks', desc: 'Give three checks', disp: 'Three Checks'},
150 // {name: 'Titan', desc: 'Extra bishops and knights'},
151 // {name: 'Twokings', desc: 'Two kings', disp: 'Two Kings'},
152 // {name: 'Upsidedown', desc: 'Board upside down', disp: 'Upside-down'},
153 // {name: 'Vchess', desc: 'Pawns capture backward', disp: 'Victor Chess'},
154 // {name: 'Wildebeest', desc: 'Balanced sliders & leapers'},
155 // {name: 'Wormhole', desc: 'Squares disappear'},
156 // {name: 'Xiangqi', desc: 'Chinese Chess'},
157 // {name: 'Yote', desc: 'African Draughts'},
158 {name: "Zen", desc: "Reverse captures"}
159 ];
160
161 // Next line for usage on server (Node.js)
162 if (typeof window === 'undefined') module.exports = variants;