[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]
Check out Janggi (Korean Chess), our featured variant for December, 2024.
Check out Janggi (Korean Chess), our featured variant for December, 2024.
In an attempt to get a bit more fluent in JavaScript, I started an interesting exercise. The aim is to build a JavaScript-powered web page that contains a Chess game, and which can be quite easily adapted to arbitrary variants. To achieve this is should only require some minimal information on the variant, like the board size, number of piece types, for each piece type the ID to be used in notation, the name of an image file to represent it, how the piece moves (as a Betza string), and how many you have in hand (for placement variants). And of course the initial setup of the board.
From this it should then be able to allow the user to move pieces around with the mouse, highlight possible moves, check the entered move for legality, generate notation. And perhaps play a not all too poor move by itself, with the aid of a simple AI.
I uploaded a very preliminary test case to my website. You should be able to move pieces around on the board with the mouse (no legality checking yet, but it does indicate which moves are legal). It should accept both click-click moves and drag-drop moves. I added some Cannons in the hand; these can also be dragged onto the board, and subsequently moved around there.
The only variant-dependent code in the page is shown below: