From 5bb0f224483fbc1d57fd1c5a2f4a22dd7263ecd6 Mon Sep 17 00:00:00 2001 From: Andinus Date: Tue, 19 Jan 2021 18:20:23 +0530 Subject: Re-implement octans, move subroutines to respective modules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Initially it went over the list of words & checked if they exist in the grid. This was very slow. Currently it walks the grid & checks if the current string exist in the dictionary. This is faster for these reasons: • The dictionary is sorted, we perform binary range search on the dictionary to return the list of all words that start with specific string. • Starting positions are limited. If the dictionary wasn't sorted then this probably would've been --- README | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 0000000..b05d0ae --- /dev/null +++ b/README @@ -0,0 +1,85 @@ + ━━━━━━━━━ + OCTANS + + Andinus + ━━━━━━━━━ + + +Table of Contents +───────────────── + +1. Demo +2. Documentation +.. 1. Implementation +.. 2. Options + + +Octans is a program to solve Algot's Wordplay (Wordsearch) puzzles. + +• Website: +• Source: +• GitHub: + + +1 Demo +══════ + + This was recorded with `asciinema(1)'. + + [https://asciinema.org/a/384464.png] + + ⁃ Octans 2020-01-14: + ⁃ alt-link (download): + + +[https://asciinema.org/a/384464.png] + + +2 Documentation +═══════════════ + +2.1 Implementation +────────────────── + + Initially it went over the list of words & checked if they exist in + the grid. This was very slow. + + Currently it walks the grid & checks if the current string exist in + the dictionary. This is faster for these reasons: + + • The dictionary is sorted, we perform binary range search on the + dictionary to return the list of all words that start with specific + string. + • Starting positions are limited. + + If the dictionary wasn't sorted then this probably would've been + slower than previous implementation. + + +2.2 Options +─────────── + +2.2.1 dict +╌╌╌╌╌╌╌╌╌╌ + + Octans's default dictionary file is `/usr/share/dict/words', use + `--dict' flag to change the dictionary. The words in dictionary must + be seperated by a newline (`\n') & sorted alphabetically. + + +2.2.2 url +╌╌╌╌╌╌╌╌╌ + + The url to be passed must be in either format: + + • Link when you view it from your local instance: + + + • Link from Algot's profile: + + + +2.2.3 verbose +╌╌╌╌╌╌╌╌╌╌╌╌╌ + + This will increase verbosity. -- cgit 1.4.1-2-gfad0