q5Go
q5Go copied to clipboard
Klein bottle support
Hi. I greatly appreciate your Go editor and its unique support for both GTP engines and toroidal Go. Adding support for the Klein bottle (where one pair of opposite edges connects in opposite orientation and the other pair connects in the same orientation) would be very helpful for me, as it would help me play this variant with an adapted version of KataGo. Could you please add this support or point me to what code I would need to change in order to accomplish this? Thank you!
The main area you'd need to change is goboard.cc. That handles all the logic of playing moves and such. Maybe change the torus_h and torus_v bools to tristate enums. Then, flood_step is the main point where connectivity is handled. Search for any other uses of the torus bools to see if anything else needs adapting.
Closing as I'm not planning to work on this myself.