n&=12 dim xp(n&+2),yp(n&+2) screen 12 for i&=0 to n&+2 theta=6.2831854*i&/n& r=200 xp(i&)=320+r*cos(theta) yp(i&)=240-r*sin(theta) next i& for i&=1 to n& circle(xp(i&),yp(i&)),10 arrow xp(i&),yp(i&),xp(i&-1),yp(i&-1),0.08 arrow xp(i&),yp(i&),xp(i&+2),yp(i&+2),0.04 next i& for i&=1 to n& theta=6.2831854*i&/n& r=140 x%=320+r*cos(theta) y%=240-r*sin(theta) bigchr "a",x%,y% next i& for i&=1 to n& theta=6.2831854*(i&+.5)/n& r=225 x%=320+r*cos(theta) y%=240-r*sin(theta) bigchr "b",x%,y% next i& end sub arrow(xp1,yp1,xp2,yp2,la) 'draws a line from (xp1,yp1) to (xp2,yp2) with an arrow of length la on it 'xp=xp2: yp=yp2 'arrow at the tip dx=la*(xp2-xp1): dy=la*(yp1-yp2) xp=(xp1+xp2+dx)/2: yp=(yp1+yp2-dy)/2 'arrow in the middle line(xp,yp)-(xp-dy-dx,yp-dx+dy) line(xp,yp)-(xp+dy-dx,yp+dx+dy) line(xp-dy-dx,yp-dx+dy)-(xp+dy-dx,yp+dx+dy) 'close the arrow for i&=1 to 500: 'block in the arrow line(xp+i&*(-dy-dx)/500,yp+i&*(-dx+dy)/500)-(xp+i&*(dy-dx)/500,yp+i&*(dx+dy)/500) next i& line(xp1,yp1)-(xp2,yp2) end sub SUB bigchr (a\$, x%, y%) 'Prints the character a\$ at location (x%,y%) at twice normal size 'Works only in SCREEN MODE 11 and 12 dim saveit?(127) IF PbvScrnMode < 11 THEN EXIT SUB 'Not a supported screen mode locate y%/16+1,x%/8+1 x% = x%-8 y% = y%-16 get(0,0)-(7,15),saveit? locate 1,1: print a\$; FOR i% = 7 TO 0 STEP -1 FOR j% = 15 TO 0 STEP -1 p% = POINT(i%, j%) PRESET (i%, j%) io% = x% + 2 * i% jo% = y% + 2 * j% LINE (io%, jo%)-(io% + 1, jo% + 1), p%, B NEXT j% NEXT i% put(0,0),saveit? END SUB