Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🎮 Play PuzzleScript games in Rust

NotificationsYou must be signed in to change notification settings

philschatz/puzzlescript-rust

Repository files navigation

It is aPuzzleScript interpreter written in Rust to play games in your terminal!

Try it out!

Gitpod ready-to-code

Screencaps

Here are some screencaps of games being played.

Gravirinth (original)

(click to see the ascii screencast)

video of the beginning of Gravirinth

Mirror Isles (original)

This screencast shows playing the game in a terminal using ASCII and ANSI colors.

mirror-isles

Pot Wash Panic! (original)

(click to see the ascii screencast)

video of install and a couple games

Hack the Net (original)

video of a couple levels of Hack-the-Net

Skipping Stones to Lonely Homes (original)

video of the beginning of Skipping Stones (BIG)

Entanglement (original)

video of the beginning of Entanglement

Install

  1. Install Rust
  2. Clone this repository
  3. Runcargo run --release to get the help message
  4. Runcargo run --release -- ./games/{game}.parsed.json to play a game
    • As you complete levels, it will create a save file in the same directory as the game

Test

  • ./test.bash : runs all the tests
  • cargo test : runs unit tests
  • ./test_solutions.bash : replays real games and verifies the solutions still work

Flamegraph

Flamegraphs are great for finding performance problems. Here's how to generate one:

echo"DDD"| sudo cargo flamegraph ./games/roll-those-sixes.parsed.json -- --level 0 --scriptedecho"S.D.S.D.DWAASAWWW..............q"| sudo cargo flamegraph ./games/entanglement-one.parsed.json -- --level 3 --scripted

TODO

  • Build WebAssembly version and add example of using it in a browser
  • Add a parser so the originalscript.txt files can be used instead of the*.parsed.json files

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp