Skip to content

Commit 17a4854

Browse files
mfelleisenrmculpepper
authored andcommitted
universe restart test, bug from Marco
(cherry picked from commit 7df831f)
1 parent 37236ea commit 17a4854

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed
+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#lang racket
2+
3+
(module drop-on-message racket
4+
(require 2htdp/universe 2htdp/image)
5+
6+
(define (u)
7+
(universe 0
8+
(on-new (lambda (u w) (make-bundle (+ u 1) '() '())))
9+
(on-msg (lambda (u w m) (make-bundle (- u 1) '() (list w))))
10+
(state #t)))
11+
12+
(define (w n)
13+
(big-bang 3
14+
[to-draw (lambda (w) (overlay (text (number->string w) 22 'black) (circle 100 'solid 'red)))]
15+
[on-tick (lambda (w) (if (<= w 1) (make-package 0 n) (- w 1)))]
16+
[register LOCALHOST]
17+
[name n]))
18+
19+
(launch-many-worlds (u) (w "one") (w "two")))
20+
21+
(require (submod "." drop-on-message))
22+
23+
(module drop-bad racket
24+
(require 2htdp/universe 2htdp/image)
25+
26+
(define *world* #false)
27+
28+
(define (u)
29+
(universe '()
30+
(on-new (lambda (u w) (make-bundle (cons w u) '() '())))
31+
(on-msg (lambda (u w m)
32+
;; set *world* to the first world that comes around, reuse
33+
(unless *world* (set! *world* w))
34+
(make-bundle u '() (list *world*))))))
35+
36+
(define (w n)
37+
(big-bang 3
38+
[to-draw (lambda (w) (overlay (text (number->string w) 22 'black) (circle 100 'solid 'red)))]
39+
[on-tick (lambda (w) (if (= w 1) (make-package 0 n) (- w 1)))]
40+
[register LOCALHOST]
41+
[name n]))
42+
43+
(launch-many-worlds (u) (w "one") (w "two") (w "three")))
44+
45+
; (require (submod "." drop-bad))

0 commit comments

Comments
 (0)