module Straddling_checkerboard { function encrypt$(message$, alphabet) { message$=filter$(ucase$(message$),"-/,. ") def num1, num2 num1=instr(alphabet#val$(0)," ") num2=instr(alphabet#val$(0)," ", num1+1)-1 num1-- escapenum=instr(alphabet#val$(2),"/")-1 escapenum1=instr(alphabet#val$(2),".")-1 num0=-10 num10=num1*10-20 num20=num2*10-30 numbers=(escapenum+num2*10)*10 numbers1=(escapenum1+num2*10)*10 boardrow=each(alphabet) cipherkey$="0123456789" : while boardrow :cipherkey$+=array$(boardrow) :end while encoded$="" for i=1 to len(message$) n=instr(cipherkey$, mid$(message$,i,1))-1 if n<10 then n+=if(random(10)<5->numbers, numbers1) else.if n<20 then n+=num0 else.if n<30 then n+=num10 else n+=num20 end if encoded$+=str$(n,"") next =encoded$ } function decrypt$(encoded$, alphabet) { def num1, num2 num1=instr(alphabet#val$(0)," ") num2=instr(alphabet#val$(0)," ", num1+1)-1 num1-- escapenum=instr(alphabet#val$(2),"/")-1 escapenum1=instr(alphabet#val$(2),".")-1 def i=1, decoded$ j=len(encoded$)+1 while i