524538c5ee36f219c04935aa0e659b70d8df2ffe
[xogo.git] / variants.js
1 const variants = [
2 {name: 'Absorption', desc: 'Absorb powers'},
3 {name: 'Alapo', desc: 'Geometric Chess'},
4 {name: 'Alice', desc: 'Both sides of the mirror'},
5 {name: 'Align4', desc: 'Align four pawns'},
6 {name: 'Allmate', desc: 'Mate any piece'},
7 {name: 'Ambiguous', desc: "Play opponent's pieces"},
8 {name: 'Antiking1', desc: 'Keep antiking in check', disp: 'Anti-King I'},
9 {name: 'Antiking2', desc: 'Keep antiking in check', disp: 'Anti-King II'},
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: 'Balaklava', desc: 'Meet the Mammoth'},
18 {name: "Balanced", desc: "Balanced chess"},
19 {name: 'Bario', desc: 'A quantum story'},
20 {name: 'Baroque', desc: 'Exotic captures'},
21 {name: "Benedict", desc: "Change colors"},
22 {name: 'Berolina', desc: 'Pawns move diagonally'},
23 {name: 'Bicolour', desc: 'Harassed kings'},
24 {name: 'Brotherhood', desc: 'Friendly pieces'},
25 {name: 'Cannibal', desc: 'Capture powers'},
26 {name: 'Capablanca', desc: 'Capablanca Chess', disp: 'Capablanca'},
27 {name: 'Capture', desc: 'Mandatory captures'},
28 {name: 'Chaining', desc: 'Speed-up development'},
29 {name: 'Chakart', desc: 'Capture the princess'},
30 {name: 'Checkered', desc: 'Shared pieces'},
31 {name: 'Checkless', desc: 'No-check mode'},
32 {name: 'Chess960', disp: "Chess 960", desc: "Standard rules"},
33 {name: 'Circular', desc: 'Run forward'},
34 {name: 'Clorange', desc: 'A Clockwork Orange', disp: 'Clockwork Orange'},
35 {name: 'Convert', desc: 'Convert enemy pieces'},
36 {name: 'Copycat', desc: 'Borrow powers'},
37 {name: 'Coregal', desc: 'Two royal pieces'},
38 {name: 'Coronation', desc: 'Long live the Queen'},
39 {name: 'Crazyhouse', desc: 'Captures reborn'},
40 {name: 'Crossing', desc: 'Cross the river'},
41 {name: 'Cylinder', desc: 'Neverending rows'},
42 {name: 'Cwda', desc: 'New teams', disp: 'Different armies'},
43 {name: 'Dark', desc: 'In the shadow'},
44 // {name: 'Diamond', desc: 'Rotating board'},
45 // {name: 'Dice', desc: 'Roll the dice'},
46 // {name: 'Discoduel', desc: 'Enter the disco', disp: 'Disco Duel'},
47 // {name: 'Dobutsu', desc: "Let's catch the Lion!"},
48 // {name: 'Doublearmy', desc: '64 pieces on the board', disp: 'Double Army'},
49 {name: 'Doublemove', desc: 'Double moves'},
50 // {name: 'Dynamo', desc: 'Push and pull'},
51 // {name: 'Eightpieces', desc: 'Each piece is unique', disp: '8 Pieces'},
52 // {name: 'Emergo', desc: 'Stacking Checkers variant'},
53 // {name: 'Empire', desc: 'Empire versus Kingdom'},
54 // {name: 'Enpassant', desc: 'Capture en passant', disp: 'En-passant'},
55 // {name: 'Evolution', desc: 'Faster development'},
56 // {name: 'Extinction', desc: 'Capture all of a kind'},
57 // {name: 'Fanorona', desc: 'Malagasy Draughts'},
58 // {name: 'Football', desc: 'Score a goal'},
59 // {name: 'Forward', desc: 'Moving forward'},
60 // {name: 'Freecapture', desc: 'Capture both colors', disp: 'Free Capture'},
61 // {name: 'Fugue', desc: 'Baroque Music'},
62 // {name: 'Fullcavalry', desc: 'Lancers everywhere', disp: 'Full Cavalry'},
63 // {name: 'Fusion', desc: 'Fusion pieces (v1)'},
64 {name: 'Giveaway', desc: 'Lose all pieces'},
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: 'Madhouse', desc: 'Rearrange enemy pieces'},
90 {name: 'Madrasi', desc: 'Paralyzed pieces'},
91 // {name: 'Magnetic', desc: 'Laws of attraction'},
92 // {name: 'Maharajah', desc: 'Augmented Queens'},
93 // {name: 'Makpong', desc: 'Thai Chess (v2)'},
94 // {name: 'Makruk', desc: 'Thai Chess (v1)'},
95 // {name: 'Maxima', desc: 'Occupy the enemy palace'},
96 // {name: 'Mesmer', desc: 'Mind control (v2)'},
97 // {name: 'Minishogi', desc: 'Shogi 5 x 5'},
98 // {name: 'Minixiangqi', desc: 'Xiangqi 7 x 7'},
99 // {name: 'Monocolor', desc: 'All of the same color'},
100 // {name: 'Monster', desc: 'White move twice'},
101 // {name: 'Musketeer', desc: 'New fairy pieces'},
102 // {name: 'Newzealand', desc: 'Kniros and Rosknis', disp: 'New-Zealand'},
103 // {name: 'Omega', desc: 'A wizard in the corner'},
104 // {name: 'Orda', desc: 'Mongolian Horde (v1)'},
105 // {name: 'Ordamirror', desc: 'Mongolian Horde (v2)', disp: 'Orda Mirror'},
106 // {name: 'Otage', desc: 'Capture and release hostages'},
107 // {name: 'Pacifist', desc: 'Convert & support'},
108 // {name: 'Pacosako', desc: 'Dance with the King', disp: 'Paco-Sako'},
109 // {name: 'Pandemonium', desc: 'Noise and confusion'},
110 // {name: 'Parachute', desc: 'Landing on the board'},
111 // {name: 'Pawnmassacre', desc: 'Pieces upside down', disp: 'Pawn Massacre'},
112 // {name: 'Pawns', desc: 'Reach the last rank (v1)'},
113 // {name: 'Pawnsking', desc: 'Reach the last rank (v2)', disp: 'Pawns & King'},
114 // {name: 'Perfect', desc: 'Powerful pieces'},
115 // {name: 'Pocketknight', desc: 'Knight in pocket', disp: 'Pocket Knight'},
116 {name: 'Progressive', desc: 'Play more and more moves'},
117 // {name: 'Racingkings', desc: 'Kings cross the 8x8 board', disp: 'Racing Kings'},
118 // {name: 'Rampage', desc: 'Move under cover'},
119 // {name: 'Relayup', desc: 'Upgrade pieces', disp: 'Relay-up'},
120 {name: 'Recycle', desc: 'Reuse pieces'},
121 {name: 'Refusal', desc: 'Do not play that!'},
122 {name: 'Rifle', desc: 'Shoot pieces'},
123 // {name: 'Rollerball', desc: 'As in the movie'},
124 // {name: 'Rococo', desc: 'Capture on the edge'},
125 // {name: 'Royalrace', desc: 'Kings cross the 11x11 board', disp: 'Royal Race'},
126 // {name: 'Rugby', desc: 'Transform an essay'},
127 // {name: 'Schess', desc: 'Seirawan-Harper Chess', disp: 'S-Chess'},
128 // {name: 'Screen', desc: 'Free initial setup'},
129 // {name: 'Selfabsorb', desc: 'Fusion pieces (v2)', disp: 'Self-Absorption'},
130 // {name: 'Shako', desc: 'Non-conformism and utopia'},
131 // {name: 'Shatranj', desc: 'Ancient rules'},
132 // {name: 'Shinobi', desc: 'A story of invasion'},
133 // {name: 'Shogi', desc: 'Japanese Chess'},
134 // {name: 'Shogun', desc: "General's Chess"},
135 // {name: 'Sittuyin', desc: 'Burmese Chess'},
136 // {name: 'Spartan', desc: 'Spartan versus Persians'},
137 // {name: 'Squatter', desc: 'Squat last rank'},
138 // {name: 'Stealthbomb', desc: 'Beware the bomb'},
139 {name: 'Suction', desc: 'Attract opposite king'},
140 // {name: 'Swap', desc: 'Dangerous captures'},
141 // {name: 'Switching', desc: "Exchange pieces' positions"},
142 // {name: 'Synchrone', desc: 'Play at the same time'},
143 // {name: 'Synochess', desc: 'Dynasty versus Kingdom'},
144 // {name: 'Takenmake', desc: 'Prolongated captures', disp: 'Take and make'},
145 {name: 'Teleport', desc: 'Reposition pieces'},
146 // {name: 'Tencubed', desc: 'Four new pieces'},
147 // {name: 'Threechecks', desc: 'Give three checks', disp: 'Three Checks'},
148 // {name: 'Titan', desc: 'Extra bishops and knights'},
149 // {name: 'Twokings', desc: 'Two kings', disp: 'Two Kings'},
150 // {name: 'Upsidedown', desc: 'Board upside down', disp: 'Upside-down'},
151 // {name: 'Vchess', desc: 'Pawns capture backward', disp: 'Victor Chess'},
152 {name: 'Weiqi', desc: 'Surround territory'},
153 // {name: 'Wildebeest', desc: 'Balanced sliders & leapers'},
154 // {name: 'Wormhole', desc: 'Squares disappear'},
155 // {name: 'Xiangqi', desc: 'Chinese Chess'},
156 // {name: 'Yote', desc: 'African Draughts'},
157 {name: "Zen", desc: "Reverse captures"}
158 ];
159
160 // Next line for usage on server (Node.js)
161 if (typeof window === 'undefined') module.exports = variants;