/ This file encrypts a message / We encrypt only letters as numbers will have a reserved meaning / becaue of the sudoku game. / example: / Here I am=Here I am=Here I am / This will rotate the code each time. / shift code on equal or roseflag encodelet:{[let] if[(let = "=") perm:: size _draw -size enc:: plain[perm] :" " ] if[((let = " ") & roseflag) perm:: (perm + 1) ! size enc:: plain[perm] :" " ] if[(lineflag & roseflag) lineflag:: 0 perm:: (perm + 1) ! size enc:: plain[perm] ] i: plain ? let if[i = #plain; :let] :enc[i] } lineflag: 0 / encrypt all lines except those starting with a period encodeline:{[line] if[0 = #line; :line] if[(".") = line[0] roseflag:: 0 if[line ~ ".rose" enc:: plain perm:: !#plain roseflag:: 1 ] if[line ~ ".baskerhound"; roseflag:: 1] :line ] lineflag:: 1 x:encodelet'line :_ssr[x; " ";" "] / eliminate extra blanks } / encrypt the message plain: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" size: #plain / encrypted mapping of each letter x: 312 _draw 100 perm: size _draw -size enc: plain[perm] message: "the cargo is on uhaul vxx222 bound for figtree do not light it too early" if[0 < #_i message: 0: _i[0] ] roseflag: 0 / not yet rose's letter crypt: encodeline'message ` 0: crypt \\