;;This function will draw a tank.
;;First open up your canvas by typing (start "x" "y") where x and y are the dimensions of the canvas. I recommend 500 and 500.
;;Change the size (radius of the wheels) to increase or decrease the size of the tank. THE SIZE MUST BE A MULTIPLE OF 20, OTHERWISE IT WILL NOT WORK!!!!!!
;;The position that you put in for the posn is the center of the middle wheel.
;;The function is (draw-tank (make-posn "some position") size color1 color2 color3)
;;Example: (draw-tank (make-posn 300 400 40 'dimgray 'darkolivegreen 'slategray)
(define (draw-tank position size color1 color2 color3)
(and
;;draw the bottom tread
(draw-solid-rect (make-posn (- (posn-x position) (* 3 size))
(posn-y position)) (* 6 size) size color2)
;;draw the wheels
(draw-solid-disk position size color3)
(draw-solid-disk (make-posn (+ (posn-x position) (* 2 size))
(posn-y position)) size color3)
(draw-solid-disk (make-posn (- (posn-x position) (* 2 size))
(posn-y position)) size color3)
;;draw the top tread
(draw-solid-rect (make-posn (- (posn-x position) (* 3 size))
(- (posn-y position) (* 1.5 size))) (* 6 size) (* 0.65 size)
color2)
;;draw the left side of the tread
(draw-solid-rect (make-posn (- (posn-x position) (* 3.25 size))
(- (posn-y position) (* 1.5 size))) (* 0.25 size) (* size 2.5)
color2)
;;draw the right side of the tread
(draw-solid-rect (make-posn (+ (posn-x position) (* 3 size))
(- (posn-y position) (* 1.5 size))) (* 0.25 size) (* 2.5 size)
color2)
;;draw the lower body of the tank
(draw-solid-rect (make-posn (- (posn-x position) (* 2.5 size))
(- (posn-y position) (* 3.5 size))) (* 5 size) (* 2 size)
color1)
;;draw the barrel of the cannon
(draw-solid-rect (make-posn (- (posn-x position) (* 6.5 size))
(- (posn-y position) (* 3 size))) (* 4 size) (* 0.5 size)
color2)
;;draw the end of the cannon
(draw-solid-rect (make-posn (- (posn-x position) (* 6.5 size))
(- (posn-y position) (* 3.15 size))) size (* 0.8 size)
color3)
;;draw the hatch
(draw-solid-rect (make-posn (- (posn-x position) (* 0.75 size))
(- (posn-y position) (* 3.85 size))) (* 1.5 size) (* 0.35 size)
color3)
;;draw the tread-marks
(draw-solid-rect (make-posn (+ (posn-x position) (* 3.5 size))
(posn-y position)) (* 0.25 size) size color1)
(draw-solid-rect (make-posn (+ (posn-x position) (* 4 size))
(posn-y position)) (* 0.25 size) size color1)
(draw-solid-rect (make-posn (+ (posn-x position) (* 4.5 size))
(posn-y position)) (* 0.25 size) size color1)
(draw-solid-rect (make-posn (+ (posn-x position) (* 3.5 size))
(- (posn-y position) (* 1.25 size))) (* 0.25 size) size color1)
(draw-solid-rect (make-posn (+ (posn-x position) (* 4 size))
(- (posn-y position) (* 1.25 size))) (* 0.25 size) size color1)
(draw-solid-rect (make-posn (+ (posn-x position) (* 4.5 size))
(- (posn-y position) (* 1.25 size))) (* 0.25 size) size
color1)))
;(start 500 500)
;(draw-tank (make-posn 300 400) 40 'dimgray 'darkolivegreen 'slategray)