Here's are two twenty liners which actually help you make twenty liners!
The first is a decompressor which will automatically decompress code in 20 line challenge format (ie 25 commands per line) into normal format for easy reading.
path$=cl$()
if path$>""
n=len(path$)
filename$=left$(right$(path$,n-1),n-2)
open to read 1,filename$
if file exist (filename$+"_decompressed.dba") then delete file filename$+"_decompressed.dba"
open to write 2,filename$+"_decompressed.dba"
repeat
read string 1,line$
words$=first token$(line$,":")
repeat
write string 2,words$
words$=next token$(":")
inc linenumber
until words$=""
until file end(1)=1
close file 1:close file 2
print "Code was decompressed into ",linenumber-1," lines. Have a nice day."
wait key
endif
To use it, here's what you need to do (it's really easy!)
1. Make a new project, paste the above code, and save it as 'decompressor.dbpro'. Then run it - nothing will happen, but it will make the code into an executable, decompressor.exe.
2. Grab any 20 liner you like, save it as a .dba source file, and simply drag and drop it onto the exe. The decompressor will then decompress it and save it in the same folder.
One limitation I realised, is that it doesn't like it if the 20-liner has colons within speech marks - it gets confused and thinks that's a command separator.
And the second is a compressor for those of you who want to turn your normal code into 20-line challenge format:
path$=cl$()
if path$>""
n=len(path$):filename$=left$(right$(path$,n-1),n-2)
open to read 1,filename$:dim storeline$(20)
repeat
inc linenumber
for commandnumber=1 to 25
read string 1,stuff$
if stuff$>"" then storeline$(linenumber)=storeline$(linenumber)+stuff$+":"
if stuff$="" and file end(1)=0 then dec commandnumber
next commandnumber
until file end(1)=1
close file 1
if file exist (filename$+"_compressed.dba") then delete file filename$+"_compressed.dba"
open to write 2,filename$+"_compressed.dba"
for printline=1 to linenumber
write string 2,storeline$(printline)
next printline
close file 2:print "Code was compressed into ",linenumber," lines. Have a nice day."
wait key:endif
Use it in the same way - turn it into an executable, then drag your dba onto it and it will compress it into 25 commands per line, and tell you if it goes over twenty lines.
The limitations are that you can't use functions, if-then's (use if-endif's instead), or remarks (rem or `) - those are limitations of the 20-line format, not the compression code!
If people find this useful, some kind mod might sticky it!