updating highway demo

svn: r439
This commit is contained in:
Jay McCarthy 2005-07-25 18:43:18 +00:00
parent 2c08ff09f9
commit f95d104d5a
2 changed files with 9 additions and 13 deletions

View File

@ -1,15 +1,10 @@
(require (lib "mztake.ss" "mztake") (require (lib "mztake.ss" "mztake")
(lib "animation.ss" "frtime")) (lib "animation.ss" "frtime")
(lib "useful-code.ss" "mztake" "private"))
(define/bind (loc "highway.ss" 3 4) speed) (define/bind (loc "highway.ss" 3 4) speed)
(printf-b "current speed: ~a" (hold values-of-speed)) (printf-b "current speed: ~a" speed)
(printf-b "last ten speeds: ~a" (history-b 10 values-of-speed))
(map-e (lambda (a-speed) (when (>= a-speed 55) (pause radar-program)))
values-of-speed)
(define (make-speed-gauge speed) (define (make-speed-gauge speed)
(let ([center (make-posn 200 200)]) (let ([center (make-posn 200 200)])
@ -23,6 +18,6 @@
"red")))) "red"))))
(display-shapes (make-speed-gauge (hold values-of-speed))) (display-shapes (make-speed-gauge speed))
(set-runnning! true) (set-running! (< speed 55))

View File

@ -199,11 +199,11 @@
; Now that we processed the trace, do we want to pause or continue ; Now that we processed the trace, do we want to pause or continue
(when (debug-process-pause-requested? process) (when (debug-process-pause-requested? process)
(set-debug-process-pause-requested?! process false)
(let loop () (let loop ()
(unless (debug-process-resume-requested? process) (unless (debug-process-resume-requested? process)
(semaphore-wait (debug-process-run-semaphore process)) (semaphore-wait (debug-process-run-semaphore process))
(loop))) (loop)))
(set-debug-process-pause-requested?! process false)
(set-debug-process-resume-requested?! process false)) (set-debug-process-resume-requested?! process false))
(set-debug-process-marks! process false))) (set-debug-process-marks! process false)))
@ -290,11 +290,12 @@
(not (frp:value-now (debug-process-exited? process))) (not (frp:value-now (debug-process-exited? process)))
(not (debug-process-pause-requested? process))) (not (debug-process-pause-requested? process)))
(process:running->paused process))) (process:running->paused process)))
(define (resume process) (define (resume process)
(cond (cond
[(not (debug-process-run-semaphore process)) (process:new->running process)] [(not (debug-process-run-semaphore process)) (process:new->running process)]
[(and (not (frp:value-now (debug-process-exited? process))) [(and (not (frp:value-now (debug-process-exited? process)))
(debug-process-pause-requested? process)
(not (debug-process-resume-requested? process))) (not (debug-process-resume-requested? process)))
(process:paused->running process)])) (process:paused->running process)]))
@ -462,4 +463,4 @@
;########################################################################################################### ;###########################################################################################################
) )