hustle

Crates.iohustle
lib.rshustle
version1.2.3
sourcesrc
created_at2022-06-24 20:03:08.587902
updated_at2022-06-28 01:15:11.617614
descriptionHustle is a terminal-based wordle clone and wordle solver written in rust, and geared towards speedrunning.
homepagehttps://github.com/lennonokun/hustle
repositoryhttps://github.com/lennonokun/hustle
max_upload_size
id612593
size2,918,048
(lennonokun)

documentation

https://github.com/lennonokun/hustle

README

Hustle

preview

Overview

Hustle is a terminal-based wordle clone and wordle solver written in rust, geared towards speedrunning. The solver is inspired by Alex Selby's article The best strategies for Wordle and code, and the game is inspired by the many wordle spin-offs like octordle, hellowordl, and speedle.

Installation

Hustle can be installed using the PKGBUILD with makepkg and pacman on Arch Linux:

$ makepkg --clean PKGBUILD
# tarball may be named something else
$ sudo pacman -U hustle-1.2.3-1-x86_64.pkg.tar.zst

Usage

Here are some examples of how to use hustle:

# play wordle
$ hustle play

# solve a wordle game
$ hustle solve salet.bbbbb.courd
$ hustle solve reast.bbbgg

# solve and output decision tree to file
$ hustle solve trace.gybbb --dt out

# solve and list results of top words
$ hustle solve crate.bybyb --list

# solve with specific ntops and cutoff
$ hustle solve lodge.bbbbb --ntops 8 --cutoff 10

# solve using specific heuristic data
$ hustle solve salet.bbbgg --hdp myhdata.csv

# solve 6 letter words with hellowordl word bank
$ hustle solve traces.bgbbyy --wbp /usr/share/hustle/bank2.csv --wlen 6

# generate heuristic data with top 10 words
$ hustle gen 10 myhdata2.csv

TODO

  • command help
    • better error messages
    • create man pages
    • create --help command
  • make heuristics work for any word bank
  • multiple heuristic options? (linear reg, precomputed, etc)
  • generally refactor, don't ignore warnings
  • optimize solving
  • create benchmarks and unit tests
  • dictionary capabilities
  • keep statistics and track pb's
  • show untested letters?
  • show known letters
    • display list below each column?
    • is this cheating?
    • regardless, it should be an option
  • single word
    • different layout for single
    • different modes like hard mode
  • sync with wordle, duordle, quordle, octordle's, etc daily
  • create github releases?
  • make more easily installable
    • try to publish to AUR?
    • create packages for more distros
    • config file (colors, replacement method, etc)
Commit count: 238

cargo fmt