The Phone Losers Of England Presents: Last Updated 6th of January 2001
Back To Code Arena
PROC Circle:
  LOCAL lc6z&,lc7z%,lc2z&,lc3z&,lc4z&
  LOCAL lc5z,lc8z%,lc1z%,Gmode%
  Gmode%=2
  dINIT "Draw Elipse/Circle"
  dCHOICE lc1z%,"Type","Hollow,Filled,Patterned"
  lc2z&=240
  dLONG lc2z&,"Centre X position",0,gWIDTH
  lc3z&=80
  dLONG lc3z&,"Centre Y position",0,gHEIGHT
  lc4z&=79
  dLONG lc4z&,"Radius",1,gWIDTH/2
  lc5z=1
  dFLOAT lc5z,"Relative height",0,999
  IF DIALOG=0
    STOP
  ENDIF
    LOCK ON
    lc6z&=1
    lc7z%=2*lc4z&
    gAT lc2z&-lc4z&,lc3z&
    gLINEBY 0,0
    WHILE lc6z&<=lc7z%
      IF KEY
      GET
      gCLS
      Circle:
      ENDIF
      lc8z%=-(SQR(lc4z&*lc6z&*2-lc6z&**2))*lc5z
      gAT lc2z&-lc4z&+lc6z&,lc3z&-lc8z%
      IF lc1z%=1
        gLINEBY 0,0
        gMOVE 0,2*lc8z%
        gLINEBY 0,0
      ELSEIF lc1z%=2
        gLINEBY 0,2*lc8z%
      ELSEIF lc1z%=3
        gMOVE 0,2*lc8z%
        gPATT -1,1,-2*lc8z%,Gmode%
      ENDIF
      lc6z&=lc6z&+1
    ENDWH
    LOCK OFF
GET
gCLS
Circle:
ENDP
This Site Is © Copyright Project Atlantis, 2000-2001