aboutsummaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2017-05-14 21:45:36 +1200
committerTom Ryder <tom@sanctum.geek.nz>2017-05-14 21:45:36 +1200
commit05f797ab7280db393840d04d3f80fabefd0fe525 (patch)
tree69192516a7e9738d1a655973a582a5741024bad9 /games
parentClear letters array before each line in squ(6df) (diff)
downloaddotfiles-05f797ab7280db393840d04d3f80fabefd0fe525.tar.gz
dotfiles-05f797ab7280db393840d04d3f80fabefd0fe525.zip
Array-less approach to squ(6df)
Diffstat (limited to 'games')
-rw-r--r--games/squ.awk11
1 files changed, 4 insertions, 7 deletions
diff --git a/games/squ.awk b/games/squ.awk
index b66b9b10..abd16934 100644
--- a/games/squ.awk
+++ b/games/squ.awk
@@ -1,10 +1,7 @@
# Make a reduced Latin square out of each line of input
-len = length {
+l = length {
str = toupper($0)
- split("", let, ":")
- for (i = 1; i <= len; i++)
- let[i - 1] = substr(str, i, 1)
- for (j in let)
- for (k in let)
- printf (k + 1 < len) ? "%s " : "%s\n", let[(k + j) % len]
+ for (j = 0; j < l; j++)
+ for (k = 0; k < l; k++)
+ printf (k < l - 1) ? "%s " : "%s\n", substr(str, (k + j) % l + 1, 1)
}