Package: weldor
weldor in Action!•Installation•World of Wordle•Modifying weldor•Licenseweldoris a simple reactive AI designed to assist you in playingWordleandsome of its derivatives. Rather than just giving youa single answer with the highest entropyat each step,weldorcombinesa classic combinatorics conceptto give you multiple choices for your turns. By reducing Wordle variants to a game of deduction that still allows for gambling, rather than memorization or recall,weldorallows the player to both enjoy and win these games in a few rounds. You can alsochange the dictionaryused byweldorfor other variants.weldorin Action!$weldor# type in "weldor" in your terminal and press ENTER to startweldorv2.7.2022# program and versionbyah# authorguile(played)# let's say you played "guile"---*+# (feedback must have silvers as "-", greens as "*" and yellows as "+")newly(secret)# "---*+" is then the encoded feedback if the secret was "newly" (true?)enterword:noidea# weldor asks you to enter a word, but you say "no idea"trythese?# weldor then searches the space and proposes the following words-shirt(15hcov)#-first(15hcov)# the words and their information scores-skirt(15hcov)# are presented in sorted order for your-wrist(15hcov)# evaluation-strip(15hcov)#-arise(5.82bits)# words selected based on high entropy are scored in bits and help-trace(5.83bits)# in quickly eliminating large sections of the search space,-irate(5.83bits)# while cover words are scored by differential alphabet coverage-crate(5.83bits)#-slate(5.86bits)# however, these are only suggestions,-raise(5.88bits)# and you're free to ignore thementerword:grate# instead of choosing "irate" or "crate" you play "grate" (the defiance!)feedback:-----# and you're faced with all silvers in response (lol)trythese?# analyzing the outcome, weldor suggests the following-solid(19hcov)#-spoil(5.39bits)# words with cover scores (scov and hcov) are selected to eliminate-slick(5.39bits)# as many high entropy words as possible (tie-breaker); hcov words-noisy(5.40bits)# are hard-mode compliant, but scov words may not be so-could(5.42bits)#-lousy(5.42bits)# you can opt to play a cover word with high value when the high-slimy(5.42bits)# entropy words are very similar to each other in compositionenterword:solid# you decide to play "solid" which does a solid job of differentiallyfeedback:-++--# eliminating all words selected based on entropytrythese?# another round of suggestions from weldor!-knoll(6hcov)#-flown(2.16bits)#     what the heck is a knoll?? is that a real word?-clock(2.16bits)#-blown(2.25bits)# the high entropy words are starting to look-flock(2.50bits)# similar in composition, so maybe play another-clown(2.50bits)# cover? or maybe not, they're not all the same-block(2.50bits)# if you look at it carefully ... ?enterword:flock# you choose flock ...feedback:-+*-+# and enter the feedback from Wordletrythis!!# and et voila!-knoll(0.00bits)# that just leaves you with one word to try and win this-pogchamp!# (but maybe you could have won earlier with knoll..)weldorout!# so long, weldorInstallationweldoris pure-python, and requiresPython 3.6or above. It was developed and tested using Ubuntu Linux onWindows Subsystem for Linuxbut it should also be compatible with macOS.Note: there may be some issues related to the GNUreadlinelibrary on macOS whichweldorneeds to enable the use of←,↑,→and↓keys for selecting the words from suggested lists.Installation is very easy withpip.On your terminal, just usepiplike so$pipinstall--upgradeweldorand that should be it!Uninstallationofweldoris easily done using$pipuninstallweldorWorld of WordleSince its release Wordle has garnered the attention of everyone everywhere. Variants have emerged.Wordle. The classic, with one secret word you have to guess daily. The goal is to solve the puzzle in 6 attempts or less.weldorcan be used directly here.Wordle Archive. A collection of all past Wordle games published so far. Also features arandomized Wordleas well as aWord Race. Useweldorto beat others in races.Absurdle. An adversarial version of Wordle that is designed to prolong the game. I am not exactly sure, but, Absurdle tries to eliminate your proposed words as much as possible, as long as there are other words it can switch to from the one it selected initially that are all compatible with previously generated colored feedback. The best strategy here withweldoris to not always play the highest entropy word at each step, but play a couple of random/fun ones that might throw the adversary off a little bit.Dordle. A randomized version of Wordle in which you have to guess two different words by proposing a single five-letter word for both. Definitely a good version to play withweldor. My strategy here is to start two separateweldorsessions, play the same word with both but based on the two feedback, continue with the word that has the highest entropy from both sessions combined.Quordle. Similar to Dordle, but you gotta guess 4 words with a single proposal. So, you'd need 4×weldorsessions.Word Masterandhello wordl. Unlimited Wordle clones. The hello wordl variant allows the use of different length words, which means you'll need to modify the dictionariesweldoruses under the hood (see next section). Checkthis repoto obtain a collection of 466,000+ English words of various length. You'll need to write your own code to filter for words of a certain length.Lewdle. Like Wordle, but with lewd words. I know where to find the dictionary, but I don't think I needweldorfor this variant.A host of topical clones. There are so many custom Wordle variants that use custom dictionaries, beyond just the ones from the English language, includingNumbleandNerdle. For Nerdle in particular, one can enumerate all 1,139,062,500 possible equations, evaluate them for mathematical correctness, and then save the filtered ones in a plaintext dictionary. For others, you might have to go through the game's page source or open reddit threads.ModifyingweldorTo modifyweldor, you'll need to clone this repository.$gitclonehttps://github.com/ayaanhossain/weldor.gitOnce cloned, you can replace the two dictionaries, inside/weldor/weldor/wordbase/, namedshell.txtandindex.txt.$llweldor/weldor/wordbase
total92drwxrwxrwx1ownerowner4096Feb723:55./
drwxrwxrwx1ownerowner4096Feb723:55../
-rwxrwxrwx1ownerowner13889Feb723:55index.txt*
-rwxrwxrwx1ownerowner74597Feb723:55shell.txt*Theshell.txtfile stores all guesses that are valid, but not really the answers, whileindex.txtfile stores the answers -- direct Wordle clones use this discrimination.If your variant does not have separated concepts ofshellandindex, then put your word list as anindex.txt, and leave theshell.txtblank.Please also feel free to change the logic inpropose_words(...)function insideweldor.py(or anything else for that matter) to suit your needs as well as modify thewordbasesetvariable to include your alphabets. If you come up with some cool modification toweldor, I'd love to hear about it (open an issue, maybe?).Once you've modifiedweldor, simply use$pythonsetup.pyinstallfrom the main directory to install your modified version.Licenseweldor(c) 2022 Ayaan Hossain.weldoris anopen-source softwareunder MIT License.SeeLICENSEfile for more details.