9111e07f9399392ee86c8a6ac46ccce51e95388e
[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' }, //TODO
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', disp: 'Antimatter' },
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: 'Hidden', desc: 'Unidentified pieces', disp: 'Strate-Go' },
71 // { name: 'Hiddenqueen', desc: 'Queen disguised as a pawn', disp: 'Hidden Queen' },
72 // { name: 'Hoppelpoppel', desc: 'Knibis and Bisknis', disp: 'Hoppel-Poppel' },
73 // { name: 'Horde', desc: 'A pawns cloud' },
74 // { name: 'Hypnotic', desc: 'Mind control (v1)' },
75 // { name: 'Iceage', desc: 'Ice Age is coming!', disp: 'Ice Age' },
76 // { name: 'Interweave', desc: 'Interweaved colorbound teams' },
77 // { name: 'Isardam', desc: 'No paralyzed pieces' },
78 // { name: 'Janggi', desc: 'Korean Chess' },
79 // { name: 'Joker', desc: 'Replace pieces' },
80 // { name: 'Karouk', desc: 'Thai Chess (v3)', disp: 'Kar-Ouk' },
81 // { name: 'Kinglet', desc: 'Protect your pawns' },
82 // { name: 'Kingsmaker', desc: 'Promote into kings' },
83 // { name: 'Knightmate', desc: 'Mate the knight' },
84 // { name: 'Knightrelay', desc: 'Move like a knight' },
85 // { name: 'Konane', desc: 'Hawaiian Checkers' },
86 // { name: 'Koopa', desc: 'Stun & kick pieces' },
87 // { name: 'Koth', desc: 'King of the Hill', disp:'King of the Hill' },
88 // { name: 'Losers', desc: 'Get strong at self-mate' },
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: 'Rifle', desc: 'Shoot pieces' },
121 { name: 'Recycle', desc: 'Reuse pieces' },
122 // { name: 'Refusal', desc: 'Do not play that!' },
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', disp: 'Stealth Bomb' },
139 // { name: 'Suicide', desc: 'Lose all pieces' },
140 // { name: 'Suction', desc: 'Attract opposite king' },
141 // { name: 'Swap', desc: 'Dangerous captures' },
142 // { name: 'Switching', desc: "Exchange pieces' positions" },
143 // { name: 'Synchrone', desc: 'Play at the same time' },
144 // { name: 'Synochess', desc: 'Dynasty versus Kingdom' },
145 // { name: 'Takenmake', desc: 'Prolongated captures', disp: 'Take and make' },
146 { name: 'Teleport', desc: 'Reposition pieces' },
147 // { name: 'Tencubed', desc: 'Four new pieces' },
148 // { name: 'Threechecks', desc: 'Give three checks', disp: 'Three Checks' },
149 // { name: 'Titan', desc: 'Extra bishops and knights' },
150 // { name: 'Twokings', desc: 'Two kings', disp: 'Two Kings' },
151 // { name: 'Upsidedown', desc: 'Board upside down', disp: 'Upside-down' },
152 // { name: 'Vchess', desc: 'Pawns capture backward', disp: 'Victor Chess' },
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", disp: "Zen Chess", desc: "Reverse captures" }
158 ];
159
160 // Next line for usage on server (Node.js)
161 if (typeof window === 'undefined') module.exports = variants;