# HG changeset patch # User Steve Losh # Date 1461885294 0 # Node ID 36d3a4bf695f59a6936a75dd5a76b967c1368dc8 # Parent 82d6ce93e3e7b05e2caf744d907ff89e302f40ed Clean up a bit of code diff -r 82d6ce93e3e7 -r 36d3a4bf695f src/ballistics.lisp --- a/src/ballistics.lisp Thu Apr 28 23:03:02 2016 +0000 +++ b/src/ballistics.lisp Thu Apr 28 23:14:54 2016 +0000 @@ -9,23 +9,27 @@ ;;;; Drawing +(defparameter *gun-pen* (make-pen :stroke (gray 0.0) :fill (gray 0.0))) +(defparameter *ball-pen* (make-pen :stroke (gray 0.1) :fill (gray 0.6))) +(defparameter *force-bg-pen* (make-pen :fill (gray 0.6))) +(defparameter *force-fg-pen* (make-pen :fill (rgb 1.000 0.478 0.749))) + (defun draw-gun (gun) (in-context (translate (getf gun 'x) (getf gun 'y)) - (with-pen (make-pen :stroke (gray 0.0) :fill (gray 0.0)) + (with-pen *gun-pen* (circle 0 0 25) (rotate (degrees (getf gun 'angle))) - (rect 0 -8 40 16) - ))) + (rect 0 -8 40 16)))) (defun draw-ball (ball) - (with-pen (make-pen :stroke (gray 0.1) :fill (gray 0.6)) + (with-pen *ball-pen* (circle (particle-x ball) (particle-y ball) (particle-radius ball)))) (defun draw-force (force) - (with-pen (make-pen :fill (gray 0.6) :weight 2) + (with-pen *force-bg-pen* (circle 20 (- *height* 50) 15)) - (with-pen (make-pen :fill (rgb 1.000 0.478 0.749)) + (with-pen *force-fg-pen* (circle 20 (- *height* 50) (map-range -1.0 1.0 0 15 force)))) @@ -74,11 +78,11 @@ (background (gray 1)) ;; (when (not firedp) - (incf force-angle force-speed)) - (setf raw-force (sin force-angle)) + (incf force-angle force-speed) + (setf raw-force (sin force-angle))) + (draw-ball cannonball) (draw-gun gun) - (draw-ball cannonball) (draw-force raw-force) (when firedp (update-ball sketch::sketch-window))