/pon2

Application for Puyo Puyo & Nazo Puyo

Primary LanguageNimApache License 2.0Apache-2.0

Pon! Tsu

Pon! Tsu is an application and library for Puyo Puyo and Nazo Puyo.

Features:

  • Solver: Solves the Nazo Puyo.
  • Generator: Generates the Nazo Puyo.
  • Permuter: Permutes the pairs in the Nazo Puyo to find a unique-solution problem.
  • GUI Application: GUI simulator for Puyo Puyo and Nazo Puyo.
  • Marathon: Search for pairs sequence and play a marathon mode.

Not supported now:

  • Wall Puyo, Hard-garbage Puyo, and Iron Puyo
  • Dropping garbage puyo
  • Puyo Puyo Fever

Note that now I am working hard on CUI and web-GUI development, and the native-GUI application is beta version.

Installation

Downloading Binary

You can get the binary at the latest release. Note that the built binary may not work on macOS due to the limitation of NiGui.

Manual Installation

nimble install pon2 -p:-d:danger

If you want to specify the instruction set, use the following command:

nimble install pon2 -p:-d:danger -p:-d:pon2.avx2=<bool> -p:-d:pon2.bmi2=<bool>

Usage

See the documentations:

For Developers

Known Issues

  • On Windows, the followings does not work:
    • cpp and JS backend
    • AVX2

API Usage

See the API documentation.

Running Tests

nimble test

Writing Tests

  1. Create a new directory directly under the tests directory.
  2. Create a new file main.nim in the directory.
  3. Write the entry point of the test as main() procedure in the file.

Generating Web Page

Run the following command to generate files in the www directory.

nimble web

Contribution

Please work on a new branch and then submit a PR for the main branch.

License

Apache-2.0