size# = 50
 
 
do
cls
   if mouseclick()=1 then inc size#,1
   if mouseclick()=2 then dec size#,1
   teapot(mousex(), mousey(), size#, 1,1,1,1)
 
loop
 
 
suspend for key
 
 
 
 
function teapot(x as integer, y as integer, size# as float, base as boolean, lid as boolean, handle as boolean, spout as boolean )
   if spout
      rem spout
      line size#+x,-size#*0.25+y,size#*1.3+x,-size#*0.5+y
      line size#*1.3+x,-size#*0.5+y, size#*1.4+x,-size#*0.8+y
      line size#*1.4+x,-size#*0.8+y, size#*1.6+x, -size#*0.85+y
      line size#*1.6+x, -size#*0.85+y, size#*1.25+x,-size#*0.85+y
      line size#*1.25+x,-size#*0.85+y, size#*1.1+x, -size#*0.55+y
      line size#*1.1+x, -size#*0.55+y, size#+x, -size#*0.5+y
   endif
   if base
      rem base
      line -size#*0.75+x,y,size#*.75+x,y
      line -size#*0.75+x,y,-size#+x,-size#*0.1+y
      line size#*0.75+x,y,size#+x,-size#*0.1+y
      line size#+x,-size#*0.1+y,size#+x,-size#*0.5+y
      line -size#+x,-size#*0.1+y,-size#+x,-size#*0.5+y
      line size#+x,-size#*0.5+y,size#*0.75+x,-size#+y
      line -size#+x,-size#*0.5+y,-size#*0.75+x,-size#+y
   endif
   if lid
      rem lid
      line size#*0.1+x,-size#*1.1+y,size#*0.75+x,-size#+y
      line -size#*0.1+x,-size#*1.1+y,-size#*0.75+x,-size#+y
      line size#*0.1+x, -size#*1.1+y, size#*0.1+x, -size#*1.2+y
      line -size#*0.1+x, -size#*1.1+y, -size#*0.1+x, -size#*1.2+y
      line size#*0.1+x,-size#*1.2+y,size#*0.2+x,-size#*1.3+y
      line -size#*0.1+x,-size#*1.2+y,-size#*0.2+x,-size#*1.3+y
      line size#*0.2+x, -size#*1.3+y, size#*0.2+x, -size#*1.35+y
      line -size#*0.2+x, -size#*1.3+y, -size#*0.2+x, -size#*1.35+y
      line size#*0.2+x, -size#*1.35+y, x, -size#*1.4+y
      line -size#*0.2+x, -size#*1.35+y, x, -size#*1.4+y
   endif
   if handle
      rem handle
      line -size#+x,-size#*0.25+y,-size#*1.4+x,-size#*0.5+y
      line -size#*1.4+x,-size#*0.5+y,-size#*1.4+x,-size#*0.6+y
      line -size#*1.4+x,-size#*0.6+y,-size#*1.3+x,-size#*0.7+y
      line -size#*1.3+x,-size#*0.7+y, -size#*0.9+x, -size#*0.75+y
   endif
endfunction