/* plot.tc - lrb - 12/3/2007 */ /* modeled after Mouse macros */ plot int row,col,onoff [ MC '\'-1-'@',1 /* ESC = left bracket - '@' */ MC '\'-1,1 /* left bracket = '\' - 1 */ pos row MC ';',1 /* semicolon = colon + 1 (but can use real semicolon) */ pos col MC 'H',1 if (onoff) MC '*',1;else MC ' ',1 ] pos int rc [ if (rc>9) [ MC rc/10+48,1;rc=rc%10 ] MC rc+48,1 ] test [ cls int r,c,onoff plot 21,0,0;ceol;plot 21,0,0;ps "on (1) / off (0) ? enter -1 to quit ";onoff=gn if (onoff<0) return plot 22,0,0;ceol;plot 22,0,0;ps "row (1..24) enter 0 to quit ";r=gn if (r>0) [plot 23,0,0;ceol;plot 23,0,0;ps "col (1..80) enter 0 to quit ";c=gn] while(r*c) [ plot(r,c,onoff) plot 21,0,0;ceol;plot 21,0,0;ps "on (1) / off (0) ? enter -1 to quit ";onoff=gn if (onoff<0) break plot 22,0,0;ceol;plot 22,0,0;ps "row (1..24) enter 0 to quit ";r=gn if (r==0) break plot 23,0,0;ceol;plot 23,0,0;ps "col (1..80) enter 0 to quit ";c=gn ] cls ] /* cls.tc - lrb - 11/30/2007 - 12/1,2/2007 */ /* clear screen - note need to code ESC character and left bracket */ /* as 1 more than they really are and then subtract */ /* 1 - cannot use the left bracket itself because it confuses the */ /* interpreter */ cls [ MC '\'-1-'@',1 MC '\'-1,1 MC '2',1 MC 'J',1 ] ceol [ /* clear to end of line */ MC '\'-1-'@',1 MC '\'-1,1 MC 'K',1 ]