🕸Fergus Duniho wrote on Tue, Apr 19, 2022 12:04 AM UTC:
I have begun to program Chess66 for Game Courier. So that 4 and 5 have separate file labels, I'm calling them A4 and H5 and distinguishing them from a5 and h5. I'm programming it with logical directions, which lets me define named directions as linked lists of nodes. The way directions are defined, the same direction cannot have two destinations from the same space. This means I've had to define additional directions to handle some lines of movement. However, the same direction can go from different spaces to the same destination.
One of the main difficulties I'm coming across is that sometimes it makes sense to treat A4 and a4 or H5 and h5 as separate spaces, and sometimes it makes sense to treat them as the same space. One idea would be to put an invisible dummy piece on the unoccupied space when the other one is occupied. That way, movement through a switch would be completely blocked.
At present, more work needs to be done to get the directions working properly.
I have begun to program Chess66 for Game Courier. So that 4 and 5 have separate file labels, I'm calling them A4 and H5 and distinguishing them from a5 and h5. I'm programming it with logical directions, which lets me define named directions as linked lists of nodes. The way directions are defined, the same direction cannot have two destinations from the same space. This means I've had to define additional directions to handle some lines of movement. However, the same direction can go from different spaces to the same destination.
One of the main difficulties I'm coming across is that sometimes it makes sense to treat A4 and a4 or H5 and h5 as separate spaces, and sometimes it makes sense to treat them as the same space. One idea would be to put an invisible dummy piece on the unoccupied space when the other one is occupied. That way, movement through a switch would be completely blocked.
At present, more work needs to be done to get the directions working properly.