Animation: Difference between revisions

m
m (Automated syntax highlighting fixup (second round - minor fixes))
Line 4,457:
 
=={{header|smart BASIC}}==
<syntaxhighlight lang="smart basic">'Animation, by rbytes and Dutchman
word$="Hello World! "
'use button window with text
Line 4,473:
word$=RIGHT$(word$,LEN(word$)-1)&LEFT$(word$,1)
ENDIF
UNTIL 0</Langsyntaxhighlight>
 
This program can be concatenated onto a single line using ! as the concatenator:
 
<Langsyntaxhighlight smart BASIClang="basic">'by rbytes and Dutchman!word$="Hello World! "!'use button window with text!
SET BUTTONS CUSTOM!SET BUTTONS FONT SIZE 40!DRAW COLOR 0,0,0!DO!'the button is redrawn each loop!BUTTON "anim" TEXT word$ AT 130,100!PAUSE .1!'touching the button reverses the scrolling!IF BUTTON_PRESSED("anim") THEN flag=1-flag!IF flag THEN!'shift right!word$=RIGHT$(word$,1)&LEFT$(word$,LEN(word$)-1)!ELSE!'shift left!word$=RIGHT$(word$,LEN(word$)-1)&LEFT$(word$,1)!ENDIF!UNTIL 0</Langsyntaxhighlight>
 
Mr. Kibernetik, the creator of smart Basic, offered this ultra-compact one-line version:
 
<Langsyntaxhighlight smart BASIClang="basic">w$="Hello World! "!1 BUTTON 0 TEXT w$ AT 0,0!PAUSE .1!IF BUTTON_PRESSED("0") THEN f=1-f!IF f THEN w$=RIGHT$(w$,1)&LEFT$(w$,LEN(w$)-1) ELSE w$=RIGHT$(w$,LEN(w$)-1)&LEFT$(w$,1)!GOTO 1</Langsyntaxhighlight>
 
and smart Basic Forum member sarossell found a way to shorten even that! See if you can spot what is changed.
 
<Langsyntaxhighlight smart BASIClang="basic">w$="Hello World! "!1 BUTTON 0 TEXT w$ AT 0,0!PAUSE .1!IF BUTTON_PRESSED("0") THEN f=1-f!k=LEN(w$)-1!IF f THEN w$=RIGHT$(w$,1)&LEFT$(w$,k) ELSE w$=RIGHT$(w$,k)&LEFT$(w$,1)!GOTO 1</Langsyntaxhighlight>
 
=={{header|Standard ML}}==
10,327

edits