💡📝H. G. Muller wrote on Sat, Oct 8, 2016 03:22 PM UTC:
I am not sure what you mean by 'Xiangqi-style rivers'. As for graphical representation, Xiangqi is played on grid-points rather than squares, and the diagram will never be able to do that, as it is just a HTML table with images in the squares and lines between the squares. So displaying a River is just a tiny detail of something it cannot do in the first place.
If you mean that you just want certain pieces to be limited to a fraction of the board, this is already possible. The latest .js script for the diagram checks if there exists a user-supplied function BadZone(file,rank,piece,color). If there isn't, it assumes any piece can venture anywhere on the board. But if there is, it only accepts moves where the fuction returns 0 for the destination square.
To indicate the zones by coloring of the board the user can similarly supply a function Shade(file,rank), which returns a color.
So to do Xiangqi (with a western-style board) the HTML page defining the diagram would need to contain the extra text
<script>
function BadZone(x, y, piece, color) {
if(piece = ELEPHANT) return (color ? y < 5 : y > 4);
// cases for King and Advisors
....
}
function Shade(x, y) {
var color = 0;
if(y > 4) color = !color; // board halves
if(x > 2 && x < 6 && (y < 3 || y > 6) color = !color; // palace
return color;
}
</script>
As for hexagonal boards: this is currently definitely not supported. It would not be totally impossible to support something close to it in the current framework, however. The board must be a HTML table, which means rectangular cells. But it is possible to have cells extend over more than one column in HTML. So by doubling the number of columns, and then alternately fuse odd+even or even+odd on different ranks, you would get a masonry-like pattern which should be close enough.
I am not sure what you mean by 'Xiangqi-style rivers'. As for graphical representation, Xiangqi is played on grid-points rather than squares, and the diagram will never be able to do that, as it is just a HTML table with images in the squares and lines between the squares. So displaying a River is just a tiny detail of something it cannot do in the first place.
If you mean that you just want certain pieces to be limited to a fraction of the board, this is already possible. The latest .js script for the diagram checks if there exists a user-supplied function BadZone(file,rank,piece,color). If there isn't, it assumes any piece can venture anywhere on the board. But if there is, it only accepts moves where the fuction returns 0 for the destination square.
To indicate the zones by coloring of the board the user can similarly supply a function Shade(file,rank), which returns a color.
So to do Xiangqi (with a western-style board) the HTML page defining the diagram would need to contain the extra text
As for hexagonal boards: this is currently definitely not supported. It would not be totally impossible to support something close to it in the current framework, however. The board must be a HTML table, which means rectangular cells. But it is possible to have cells extend over more than one column in HTML. So by doubling the number of columns, and then alternately fuse odd+even or even+odd on different ranks, you would get a masonry-like pattern which should be close enough.