# A TUI for local play of the game of Tak ## Building Clone the repo, issue `cargo build` and enjoy (?) ## Usage Takwrap supports local play, undo, and starting variant and game exporting to PTN. See `takwrap -h` for options and details. Note in particular that `takwrap` supports the following alternate starting configurations, which are embedded in the exported PTN file as `[Variant XXX]`. - CPSn, counter-play start with n=1 is the default. White places a black flat, then black places a white flat. This repeats n times, after which normal play resumes. - FCS, forbidden corner start. CPS1 but white may not place the black flat in a corner - FES, forbidden edge start. CPS1 but white may not place the black flat on an edge - TPS, two ply start. White places two black flats, then black places a white flat and normal play resumes. - CZS, Czech start. White places a black flat, then normal play resumes ## Interfacing with engines Takwrap does not have computer opponents built in, but instead allows interfacing with external engine programmes with the `-e` parameter. It expects the name of an executable in the path which accepts the name of a file with a game-state in PTN, and which returns a single, valid move. See the file `wrap_taktician` for an example of utilising [Taktician](https://github.com/nelhage/taktician) for this purpose. Note that the engine is expected to respect the `[Variant XXX]` line in the PTN game-state, so expect breakage with anything but the default. ## Additional contributors With thanks to - ~devp for fixing a capstone->wall flattening bug