Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

solve_word_puzzles

Solve various word-based puzzles (like where each word has letters randomly permutated) using Pascal

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

Solve various word-based puzzles using Pascal

Introduction

Solve some word-based puzzles by "brute force" (like dictionary-based searching).

Using modern Object Pascal (FPC or Delphi).

Use as you see fit. Remember: The goal is to increase your fun from solving some larger puzzles, not to diminish the fun from solving puzzles by cheating. If you want to have fun and learn coding, I advice to just take the word files from this repo (see dictionaries in common), and write an application solving something yourself, in any programming language you like.

Building

All tools here use Castle Game Engine for the CastleUnicode unit that allows to handle Pascal String using UTF-8 (in FPC) or UTF-16 (in Delphi) in a seamless fashion, see CGE Unicode support.

Various build ways are possible:

  • Open any sub-project in Castle Game Engine editor to build and run everything using nice GUI.

    This will run under the hood FPC or Delphi compiler. You can configure compiler used in the editor's preferences.

  • Open any sub-project in Delphi to build and run everything.

  • Open any sub-project in Lazarus to build and run everything.

  • Build using Castle Game Engine build tool from command-line.

    Like this:

    pascal
    cd solve_permutated_letters
    castle-engine compile

    Use just make here to build all projects.

solve_permutated_letters

Solve puzzles where each word has letters randomly permutated. E.g. found in some "Murdle".

I found it more interesting to write a program to do this, than to solve this particular puzzle with my brain :)

Just pass the puzzle as parameters. By default we solve using Polish dictionary, edit the code to use English dictionary.

pascal
./solve_permutated_letters ot jtes pturemacja

Output should be to jest permutacja (in English this means: "this is a permutation").

solve_missing_letters

Solve a puzzle "wheel of fortune" where you have to guess a word sequence, knowing only some letters from each word. Pass as parameters word mask: with ? for letter, * for any letter sequence.

Usage:

pascal
./solve_missing_letters 'c?t' 'd?g'

Output will point you to cat dog if English dictionary is used.

License and copyright

BSD 3 clause. Michalis Kamburelis.