From 118e961ceef44047ce75ebee8f5506f61d4a59bc Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sat, 22 Dec 2012 10:34:21 -0600 Subject: [PATCH] Revert ufo changes at Matthias's request Revert "do a little bit better job compressing the bytes" This reverts commit 099a35881ec95ea513021408b6d9ce8e2f9ab609. Revert "adjust file to use the literal bytes for the ufo image" This reverts commit fdd9344b2740e51fd64881a85763ceeb3f9fefa4. --- collects/realm/chapter5/ufo-source.rkt | 832 ++++++++++++++++--------- 1 file changed, 549 insertions(+), 283 deletions(-) diff --git a/collects/realm/chapter5/ufo-source.rkt b/collects/realm/chapter5/ufo-source.rkt index 7756c48c2e..7bda289e18 100644 --- a/collects/realm/chapter5/ufo-source.rkt +++ b/collects/realm/chapter5/ufo-source.rkt @@ -1,285 +1,551 @@ -#lang racket +#reader(lib"read.ss""wxme")WXME0108 ## +#| + This file uses the GRacket editor format. + Open this file in DrRacket version 5.3.1.9 or later to read it. -(require 2htdp/universe 2htdp/image) + Most likely, it was created by saving a program in DrRacket, + and it probably contains a program with non-text elements + (such as images or comment boxes). -(define WIDTH 200) -(define HEIGHT 300) - -(define (add-3-to-state current-state) - (+ current-state 3)) - -(define (draw-a-ufo-onto-an-empty-scene current-state) - (place-image IMAGE-of-UFO (/ WIDTH 2) current-state - (empty-scene WIDTH HEIGHT))) - -(define (state-is-300 current-state) - (>= current-state 300)) - -(define (main) - (big-bang 0 ;; initial state - (on-tick add-3-to-state) ;; when the clock ticks, add ... - (to-draw draw-a-ufo-onto-an-empty-scene) ;; when the state changes, draw ... - (stop-when state-is-300))) ;; when the UFO's y coordinate is 300, stop. - -;; to run the program, click run and enter -;; > (main) -;; at the prompt. - -;; the code below builds the ufo image from the raw bytes that make it up -(define 255line (make-bytes 20 #o377)) -(define ufo-width 81) -(define ufo-height 70) -(define ufo-bytes - (bytes-append - (make-bytes 129 255) #"\376\376\376" (make-bytes 5 255) #"\376\376\376" (make-bytes 633 255) - #"\376\376\376" (make-bytes 313 255) #"\376\376\376" (make-bytes 629 255) #"\376\376\376" - #"\377\360\360\360\377\277\277\277\377\277\277\277\377\277\277\277\377\277\277\277" - #"\377\277\277\277\377\357\357\357" (make-bytes 285 255) #"\317\317\317\377```" - #"\377 \377\0\0\0\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377 \377```\377\257\257\257" (make-bytes 265 255) #"\277\277\277" - #"\377@@@\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0\377\0\0\0" - #"\377\17\17\17\377\177\177\177\377\357\357\357" (make-bytes 249 255) #"ppp" - #"\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0\377QQQ\377\200\200\200" - #"\377\300\300\300\377\300\300\300\377\277\277\277\377\277\277\277\377\200\200\200" - #"\377```\377 \377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20" - #"\377\217\217\217" (make-bytes 237 255) #"\357\357\357\377PPP\377\0\0\0\377\0\0\0" - #"\377\1\1\1\377\0\0\0\377@@@" (make-bytes 37 255) #"\317\317\317\377```\377\0\0\0" - #"\377\1\1\1\377\0\0\0\377\0\0\0\377PPP\377\360\360\360" (make-bytes 21 255) - #"\376\376\376" (make-bytes 205 255) #"```\377\0\0\0\377\0\0\0\377111\377\0\0\0" - #"\377\0\0\0\377@@@" (make-bytes 45 255) #"\340\340\340\377___\377\0\0\0\377\1\1\1" - #"\377\0\0\0\377000\377\357\357\357" (make-bytes 221 255) #"\177\177\177\377\0\0\0" - #"\377\1\1\1\377PPP\377\20\20\20\377\0\0\0\377\0\0\0\377\200\200\200" - (make-bytes 29 255) #"\376\376\376" (make-bytes 21 255) #"\317\317\317\377 \377\1\1\1" - #"\377\0\0\0\377000\377\357\357\357" (make-bytes 213 255) #"\337\337\337\377\0\0\0" - #"\377\0\0\0\377PPP\377@@@\377\0\0\0\377000\377\0\0\0\377\217\217\217" - (make-bytes 5 255) #"\376\376\376" (make-bytes 5 255) #"\376\376\376" (make-bytes 41 255) #"\357\357\357\377PPP" - #"\377\0\0\0\377\0\0\0\377111" (make-bytes 213 255) #"```\377\0\0\0\377\20\20\20" - #"\377\257\257\257\377\0\0\0\377@@@\377\200\200\200\377\0\0\0\377\277\277\277" (make-bytes 9 255) - #"\376\376\376" (make-bytes 53 255) #"___\377\1\1\1\377\0\0\0\377\177\177\177\377\376\376\376" - (make-bytes 173 255) #"\376\376\376" (make-bytes 25 255) #"\337\337\337\377\0\0\0\377\0\0\0\377\240\240\240" - #"\377OOO\377\1\1\1\377\317\317\317\377AAA\377\0\0\0\377\337\337\337" (make-bytes 69 255) - #"@@@\377\0\0\0\377\0\0\0\377\340\340\340" (make-bytes 177 255) #"\376\376\376" (make-bytes 21 255) - #"\220\220\220\377\0\0\0\377\20\20\20\377\357\357\357\377\0\0\0\377@@@" (make-bytes 5 255) - #"\0\0\0\377\0\0\0" (make-bytes 73 255) #"\357\357\357\377 \377\0\0\0\377```" - (make-bytes 201 255) #"@@@\377\0\0\0\377```\377\277\277\277\377\0\0\0\377\240\240\240" - #"\377\357\357\357\377\1\1\1\377\0\0\0" (make-bytes 77 255) #"\277\277\277\377\0\0\0\377\0\0\0" - #"\377\340\340\340" (make-bytes 197 255) #"\0\0\0\377\0\0\0\377\257\257\257\377\216\216\216\377\1\1\1" - #"\377\277\277\277\377\357\357\357\377\0\0\0\377000" (make-bytes 81 255) #"@@@\377\1\1\1" - #"\377\217\217\217" (make-bytes 193 255) #"\337\337\337\377\0\0\0\377\0\0\0\377\337\337\337\377\200\200\200" - #"\377\0\0\0\377\0\0\0\377```\377\0\0\0\377AAA" (make-bytes 81 255) #"\277\277\277" - #"\377\0\0\0\377000" (make-bytes 193 255) #"\277\277\277\377\0\0\0\377\0\0\0" (make-bytes 5 255) - #"\200\200\200\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" (make-bytes 85 255) - #" \377\0\0\0" (make-bytes 193 255) #"\300\300\300\377\0\0\0\377 " (make-bytes 5 255) - #"\357\357\357\377\257\257\257\377\201\201\201\377\200\200\200\377@@@\377 " (make-bytes 85 255) - #"ppp\377\0\0\0\377\277\277\277" (make-bytes 13 255) #"\376\376\376" (make-bytes 173 255) #"\277\277\277" - #"\377\0\0\0\377???" (make-bytes 5 255) #"\376\376\376" (make-bytes 105 255) #"\240\240\240\377\0\0\0" - #"\377\277\277\277" (make-bytes 189 255) #"\277\277\277\377\0\0\0\377@@@" (make-bytes 97 255) #"\376\376\376" - (make-bytes 13 255) #"\277\277\277\377\0\0\0\377```" (make-bytes 185 255) #"\376\376\376\377\237\237\237" - #"\377\0\0\0\377111" (make-bytes 113 255) #"\337\337\337\377\0\0\0\377\0\0\0\377\300\300\300" - (make-bytes 173 255) #"\376\376\376" (make-bytes 9 255) #"PPP\377\0\0\0\377\0\0\0\377\21\21\21" - #"\377```\377\260\260\260" (make-bytes 93 255) #"\320\320\320\377```\377\20\20\20\377\0\0\0" - #"\377\0\0\0\377\20\20\20\377\357\357\357" (make-bytes 177 255) #"\177\177\177\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\200\200\200" - #"\377\277\277\277\377\357\357\357" (make-bytes 57 255) #"\341\341\341\377\240\240\240\377```\377 " - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377000" - #"\377\357\357\357" (make-bytes 169 255) #"\237\237\237\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377@@@\377@@@\377\200\200\200\377\177\177\177\377\200\200\200" - #"\377\200\200\200\377\200\200\200\377\200\200\200\377\200\200\200\377\201\201\201\377PPP\377@@@" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\1\1\1\377\20\20\20\377\1\1\1\377\0\0\0\377\1\1\1\377```" (make-bytes 165 255) - #"\317\317\317\377\20\20\20\377\0\0\0\377\0\0\0\377 \377@@@\377000" - #"\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1" - #"\377\0\0\0\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0\377 \377QQQ\377111" - #"\377\20\20\20\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377```" (make-bytes 157 255) - #"\357\357\357\377000\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377 " - #"\377```\377\217\217\217\377\320\320\320" (make-bytes 5 255) #"\317\317\317\377\277\277\277\377\277\277\277" - #"\377\200\200\200\377\200\200\200\377\200\200\200\377@@@\377AAA\377@@@\377000" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377@@@" - #"\377@@@\377```\377\200\200\200\377\257\257\257\377\277\277\277\377\200\200\200\377\20\20\20" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377ppp\377```\377\0\0\0" - #"\377```" (make-bytes 5 255) #"\376\376\376" (make-bytes 145 255) #"```\377\0\0\0\377\0\0\0" - #"\377\21\21\21\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1" - #"\377\0\0\0\377@@@\377ppp\377\217\217\217\377\277\277\277\377\357\357\357" (make-bytes 53 255) - #"\277\277\277\377\200\200\200\377000\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377???\377\277\277\277" (make-bytes 5 255) #"\356\356\356\377000\377\0\0\0" - #"\377```" (make-bytes 145 255) #"\257\257\257\377\0\0\0\377\0\0\0\377\20\20\20\377\201\201\201" - #"\377\237\237\237\377\240\240\240\377ppp\377000\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377000" - #"\377@@@\377AAA\377\200\200\200\377\200\200\200\377\200\200\200\377\200\200\200\377\200\200\200" - #"\377PPP\377@@@\377 \377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0" - #"\377\0\0\0\377\20\20\20\377QQQ\377\216\216\216\377\340\340\340" (make-bytes 9 255) #"\376\376\376" - (make-bytes 5 255) #"\317\317\317\377\20\20\20\377\0\0\0\377ppp" (make-bytes 137 255) #"\357\357\357" - #"\377\20\20\20\377\0\0\0\377\0\0\0\377\20\20\20\377\257\257\257\377\257\257\257\377 " - #"\377\200\200\200" (make-bytes 5 255) #"\357\357\357\377\257\257\257\377\200\200\200\377???\377\21\21\21" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\217\217\217\377\317\317\317" (make-bytes 9 255) - #"\376\376\376" (make-bytes 25 255) #"\237\237\237\377\0\0\0\377\0\0\0\377\237\237\237" (make-bytes 133 255) - #"OOO\377\0\0\0\377\0\0\0\377\0\0\0\377\300\300\300\377\337\337\337\377\317\317\317" - #"\377\237\237\237\377\0\0\0\377```" (make-bytes 17 255) #"aaa\377\0\0\0\377PPP" - #"\377\200\200\200\377PPP\377000\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0\377@@@\377```\377\240\240\240" - #"\377\0\0\0\377\0\0\0" (make-bytes 5 255) #"\376\376\376" (make-bytes 5 255) #"\376\376\376" (make-bytes 33 255) - #"ppp\377\1\1\1\377\0\0\0\377\237\237\237" (make-bytes 113 255) #"\376\376\376" (make-bytes 9 255) - #"\277\277\277\377\1\1\1\377\0\0\0\377@@@\377 " (make-bytes 5 255) #" " - #"\377\1\1\1\377\257\257\257\377\0\0\0\377\0\0\0" (make-bytes 13 255) #"\236\236\236\377\1\1\1" - #"\377\200\200\200" (make-bytes 17 255) #"\20\20\20\377QQQ" (make-bytes 37 255) #"\0\0\0\377\0\0\0" - (make-bytes 33 255) #"\376\376\376" (make-bytes 17 255) #"000\377\0\0\0\377\0\0\0\377\241\241\241" - (make-bytes 105 255) #"\376\376\376" (make-bytes 13 255) #"000\377\0\0\0\377000\377\217\217\217" - #"\377\200\200\200" (make-bytes 5 255) #"000\377\0\0\0\377\317\317\317\377\0\0\0\377```" - (make-bytes 5 255) #"\376\376\376" (make-bytes 5 255) #"\200\200\200\377\0\0\0\377\337\337\337\377\237\237\237" - #"\377\200\200\200\377\277\277\277" (make-bytes 5 255) #"!!!\377@@@" (make-bytes 9 255) #"\376\376\376" - (make-bytes 25 255) #"\1\1\1\377\0\0\0" (make-bytes 9 255) #"\356\356\356\377@@@\377\0\0\0" - #"\377\0\0\0\377\337\337\337" (make-bytes 25 255) #"\337\337\337\377\20\20\20\377\0\0\0\377\20\20\20" - #"\377\317\317\317" (make-bytes 5 255) #"\376\376\376" (make-bytes 105 255) #"\237\237\237\377\0\0\0\377\0\0\0" - #"\377\317\317\317\377\217\217\217\377111\377\317\317\317\377\360\360\360\377\357\357\357\377\337\337\337" - #"\377\20\20\20\377\360\360\360" (make-bytes 13 255) #"\237\237\237\377\0\0\0" (make-bytes 5 255) #"AAA" - #"\377\0\0\0\377\217\217\217" (make-bytes 5 255) #"\0\0\0\377000" (make-bytes 37 255) #"\0\0\0" - #"\377\0\0\0" (make-bytes 9 255) #"\200\200\200\377\0\0\0\377\0\0\0\377\0\0\0\377\200\200\200" - (make-bytes 21 255) #"\376\376\376" (make-bytes 5 255) #"\257\257\257\377\0\0\0\377\0\0\0\377\21\21\21" - #"\377\357\357\357" (make-bytes 5 255) #"\376\376\376" (make-bytes 85 255) #"\376\376\376" (make-bytes 13 255) #" " - #"\377\1\1\1\377\200\200\200" (make-bytes 5 255) #"\317\317\317\377\0\0\0\377\0\0\0\377PPP" - #"\377\200\200\200\377```\377\337\337\337" (make-bytes 21 255) #"000\377\277\277\277\377\217\217\217" - #"\377@@@\377\337\337\337\377\277\277\277\377\0\0\0\377@@@" (make-bytes 13 255) #"\376\376\376" - (make-bytes 21 255) #"\1\1\1\377\0\0\0" (make-bytes 9 255) #"@@@\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377PPP" (make-bytes 33 255) #"ppp\377\0\0\0\377\0\0\0\377000" - (make-bytes 105 255) #"\257\257\257\377\0\0\0\377\20\20\20\377\357\357\357" (make-bytes 5 255) #"\376\376\376" - #"\377\237\237\237\377@@@\377AAA\377\237\237\237" (make-bytes 13 255) #"\376\376\376" (make-bytes 13 255) - #"\320\320\320\377PPP\377\277\277\277\377\277\277\277\377\260\260\260\377\17\17\17\377\1\1\1" - #"\377ppp" (make-bytes 37 255) #"\0\0\0\377\0\0\0" (make-bytes 9 255) #"\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377@@@" (make-bytes 33 255) #"\357\357\357\377 \377\0\0\0" - #"\377\0\0\0\377ppp" (make-bytes 101 255) #"QQQ\377\0\0\0\377\200\200\200" (make-bytes 13 255) - #"\376\376\376" (make-bytes 45 255) #"\337\337\337\377@@@\377\0\0\0\377\1\1\1\377\0\0\0" - #"\377\21\21\21\377\337\337\337" (make-bytes 37 255) #"\0\0\0\377\0\0\0" (make-bytes 9 255) #"@@@" - #"\377\0\0\0\377\1\1\1\377\0\0\0\377\217\217\217" (make-bytes 37 255) #"\277\277\277\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\277\277\277" (make-bytes 77 255) #"\376\376\376" (make-bytes 13 255) #"\357\357\357" - #"\377\1\1\1\377\20\20\20\377\357\357\357" (make-bytes 69 255) #"\317\317\317\377\201\201\201\377\177\177\177" - #"\377\340\340\340" (make-bytes 41 255) #"\0\0\0\377\0\0\0" (make-bytes 13 255) #"\277\277\277\377\177\177\177" - #"\377\201\201\201\377\357\357\357" (make-bytes 41 255) #"qqq\377\0\0\0\377\0\0\0\377!!!" - (make-bytes 93 255) #"\237\237\237\377\0\0\0\377ppp" (make-bytes 17 255) #"\376\376\376" (make-bytes 61 255) - #"\376\376\376" (make-bytes 5 255) #"\376\376\376" (make-bytes 21 255) #"\376\376\376" (make-bytes 13 255) #"\0\0\0" - #"\377\0\0\0" (make-bytes 49 255) #"\376\376\376" (make-bytes 17 255) #"\357\357\357\377\21\21\21\377\0\0\0" - #"\377\0\0\0\377\237\237\237" (make-bytes 89 255) #"```\377\0\0\0\377\317\317\317" (make-bytes 73 255) - #"\376\376\376" (make-bytes 53 255) #"\0\0\0\377\0\0\0" (make-bytes 61 255) #"\376\376\376" (make-bytes 9 255) - #"\200\200\200\377\0\0\0\377\1\1\1\377 " (make-bytes 89 255) #"000\377\20\20\20" - (make-bytes 133 255) #"\0\0\0\377\0\0\0" (make-bytes 73 255) #"\357\357\357\377\20\20\20\377\0\0\0" - #"\377\0\0\0\377\260\260\260" (make-bytes 85 255) #"\1\1\1\377 \377\237\237\237\377\357\357\357" - (make-bytes 125 255) #"\0\0\0\377\0\0\0" (make-bytes 37 255) #"\376\376\376" (make-bytes 5 255) #"\376\376\376" - (make-bytes 17 255) #"\360\360\360\377\237\237\237\377@@@\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377ppp" (make-bytes 85 255) #"\0\0\0\377\1\1\1\377\0\0\0\377\0\0\0\377///" - #"\377ppp\377\240\240\240\377\316\316\316" (make-bytes 109 255) #"\1\1\1\377\0\0\0" (make-bytes 53 255) - #"\277\277\277\377\200\200\200\377???\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377@@@" (make-bytes 85 255) #"\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\377@@@" - #"\377ppp\377\217\217\217\377\300\300\300\377\337\337\337" (make-bytes 21 255) #"\376\376\376" (make-bytes 57 255) - #"\357\357\357\377\0\0\0\377\0\0\0" (make-bytes 29 255) #"\337\337\337\377\277\277\277\377\200\200\200" - #"\377```\377000\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@" (make-bytes 85 255) - #"\0\0\0\377ppp\377\200\200\200\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0" - #"\377\0\0\0\377///\377@@@\377ppp\377\200\200\200\377\220\220\220\377\300\300\300" - #"\377\277\277\277\377\317\317\317" (make-bytes 37 255) #"\376\376\376" (make-bytes 5 255) #"\276\276\276\377\0\0\0" - #"\377\0\0\0\377\277\277\277\377\200\200\200\377\200\200\200\377PPP\377@@@\377 " - #"\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0\377\1\1\1\377\0\0\0\377\1\1\1" - #"\377\0\0\0\377 \377\0\0\0\377\17\17\17\377\337\337\337\377@@@\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377@@@" (make-bytes 85 255) #"\0\0\0\377000\377\277\277\277" - #"\377\0\0\0\377@@@\377\257\257\257\377```\377\0\0\0\377000\377\257\257\257" - #"\377PPP\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377@@@\377@@@\377@@@" - #"\377@@@\377@@@\377@@@\377000\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1" - #"\377\0\0\0\377\21\21\21\377\177\177\177\377 \377\0\0\0\377\276\276\276\377\277\277\277" - #"\377\0\0\0\377@@@" (make-bytes 5 255) #"\200\200\200\377\0\0\0\377\1\1\1\377\0\0\0" - #"\377ppp" (make-bytes 85 255) #"\0\0\0\377\0\0\0\377___\377\0\0\0\377@@@" - (make-bytes 5 255) #"\220\220\220\377\1\1\1\377\316\316\316" (make-bytes 5 255) #"\177\177\177\377\0\0\0" - #"\377\260\260\260\377\217\217\217\377///\377\0\0\0\377\200\200\200\377QQQ\377\20\20\20" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@" - #"\377\20\20\20\377\0\0\0\377```\377\177\177\177\377 \377\0\0\0\377\277\277\277" - #"\377\376\376\376\377@@@\377\0\0\0\377\277\277\277\377\340\340\340\377\0\0\0\377\0\0\0" - #"\377\337\337\337\377 \377\0\0\0\377\1\1\1\377\0\0\0\377\317\317\317" (make-bytes 85 255) - #"@@@\377\0\0\0\377\0\0\0\377\0\0\0\377!!!\377\277\277\277\377PPP" - #"\377\0\0\0\377\337\337\337" (make-bytes 5 255) #"\177\177\177\377\1\1\1\377\237\237\237" (make-bytes 5 255) - #"@@@\377\20\20\20" (make-bytes 9 255) #"@@@\377\1\1\1\377\237\237\237\377\337\337\337" - #"\377\217\217\217\377```\377\0\0\0\377@@@\377```\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377@@@\377\0\0\0" - #"\377```\377\277\277\277" (make-bytes 9 255) #"@@@\377\0\0\0\377\337\337\337" (make-bytes 5 255) - #"@@@\377\0\0\0" (make-bytes 9 255) #"@@@\377\0\0\0\377\257\257\257\377\277\277\277" - #"\377\20\20\20\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377 " - (make-bytes 89 255) #"\217\217\217\377\0\0\0\377\0\0\0\377\1\1\1\377\1\1\1\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377!!!\377___\377```\377\0\0\0\377\177\177\177" - (make-bytes 5 255) #"@@@\377\0\0\0" (make-bytes 9 255) #"@@@\377\0\0\0\377\337\337\337" - (make-bytes 9 255) #"\200\200\200\377\0\0\0\377\277\277\277" (make-bytes 5 255) #"\0\0\0\377\1\1\1" - (make-bytes 9 255) #"\1\1\1\377\0\0\0" (make-bytes 5 255) #"\277\277\277\377\0\0\0\377\200\200\200" - (make-bytes 13 255) #"@@@\377\0\0\0" (make-bytes 9 255) #"PPP\377\0\0\0\377\257\257\257" - #"\377\317\317\317\377 \377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0\377\237\237\237" (make-bytes 89 255) #"\337\337\337" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377\20\20\20" - #"\377\0\0\0\377\277\277\277\377\317\317\317\377QQQ\377\0\0\0" (make-bytes 13 255) #"\200\200\200" - #"\377\0\0\0\377\277\277\277\377\376\376\376\377\0\0\0\377\0\0\0" (make-bytes 9 255) #"\0\0\0" - #"\377\0\0\0" (make-bytes 5 255) #"\237\237\237\377\0\0\0\377PPP" (make-bytes 13 255) #"@@@" - #"\377\1\1\1\377@@@\377000\377\0\0\0\377\0\0\0\377\20\20\20\377\1\1\1" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377PPP" - #"\377\0\0\0\377\0\0\0\377000" (make-bytes 81 255) #"\376\376\376" (make-bytes 13 255) #"```" - #"\377\0\0\0\377\0\0\0\377```\377ppp\377@@@\377@@@\377000" - #"\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377 " - #"\377 \377\0\0\0\377```\377\217\217\217\377\0\0\0\377\0\0\0\377```" - #"\377\337\337\337\377\0\0\0\377\1\1\1\377\217\217\217\377qqq\377\0\0\0\377\0\0\0" - #"\377\20\20\20\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0\377\1\1\1" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377```" - #"\377\177\177\177\377\277\277\277\377\357\357\357\377\237\237\237\377\0\0\0\377\0\0\0\377\277\277\277" - (make-bytes 93 255) #"\376\376\376\377\337\337\337\377\1\1\1\377\1\1\1\377000\377\260\260\260" - (make-bytes 5 255) #"\317\317\317\377PPP\377\1\1\1\377\0\0\0\377\177\177\177\377\20\20\20" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\1\1\1\377\0\0\0\377\1\1\1\377\0\0\0\377\0\0\0" - #"\377 \377 \377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\237\237\237" - #"\377 \377\1\1\1\377\236\236\236" (make-bytes 9 255) #"\277\277\277\377\20\20\20\377\0\0\0" - #"\377\177\177\177" (make-bytes 101 255) #"\376\376\376\377\177\177\177\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\20\20\20\377\316\316\316" (make-bytes 5 255) #"\177\177\177" - #"\377\0\0\0\377\1\1\1\377\20\20\20\377\237\237\237\377\277\277\277\377\300\300\300\377\277\277\277" - #"\377\277\277\277\377\277\277\277\377\177\177\177\377\177\177\177\377\200\200\200\377\200\200\200\377\177\177\177" - #"\377@@@\377@@@\377AAA\377@@@\377@@@\377@@@\377@@@" - #"\377@@@\377PPP\377\177\177\177\377\177\177\177\377\237\237\237\377\276\276\276\377\337\337\337" - #"\377ppp\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\237\237\237\377\376\376\376" - #"\377\177\177\177\377\0\0\0\377\20\20\20\377ppp\377000\377\0\0\0\377\0\0\0" - #"\377```\377\376\376\376" (make-bytes 109 255) #"PPP\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\20\20\20\377\317\317\317" (make-bytes 13 255) #"000\377\0\0\0\377\0\0\0" - #"\377\20\20\20\377\237\237\237" (make-bytes 85 255) #"\237\237\237\377\20\20\20\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377 \377\316\316\316" (make-bytes 9 255) #"\357\357\357\377///\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377```" (make-bytes 5 255) #"\376\376\376" (make-bytes 101 255) - #"\376\376\376" (make-bytes 5 255) #"\357\357\357\377\177\177\177\377@@@\377???\377```" - #"\377\357\357\357" (make-bytes 17 255) #"\357\357\357\377000\377\1\1\1\377\0\0\0\377\0\0\0" - #"\377@@@\377\277\277\277" (make-bytes 65 255) #"\357\357\357\377\217\217\217\377 \377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377ppp\377\357\357\357" (make-bytes 13 255) #"\376\376\376" - #"\377\357\357\357\377PPP\377@@@\377PPP\377\260\260\260" (make-bytes 141 255) #"\376\376\376" - (make-bytes 21 255) #"\357\357\357\377000\377\0\0\0\377\1\1\1\377\0\0\0\377\0\0\0" - #"\377000\377\237\237\237\377\337\337\337" (make-bytes 41 255) #"\357\357\357\377\257\257\257\377```" - #"\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377\317\317\317" - (make-bytes 165 255) #"\376\376\376" (make-bytes 49 255) #"\177\177\177\377\20\20\20\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377000\377```\377\177\177\177\377\217\217\217" - #"\377\277\277\277\377\277\277\277\377\220\220\220\377\177\177\177\377```\377000\377\1\1\1" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377```\377\320\320\320" - (make-bytes 229 255) #"\357\357\357\377\177\177\177\377 \377\0\0\0\377\1\1\1\377\0\0\0" - #"\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377PPP" - #"\377\240\240\240\377\360\360\360\377\376\376\376" (make-bytes 5 255) #"\376\376\376" (make-bytes 177 255) #"\376\376\376" - (make-bytes 57 255) #"\317\317\317\377\177\177\177\377PPP\377000\377\0\0\0\377\0\0\0" - #"\377\0\0\0\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377@@@\377```" - #"\377\217\217\217\377\277\277\277" (make-bytes 61 255) #"\376\376\376\377\376\376\376" (make-bytes 193 255) #"\376\376\376" - (make-bytes 29 255) #"\376\376\376" (make-bytes 45 255) #"\376\376\376\377\376\376\376" (make-bytes 5 255) #"\376\376\376" - (make-bytes 29 255) #"\376\376\376" (make-bytes 541 255) #"\376\376\376" (make-bytes 85 255) #"\376\376\376" - (make-bytes 13 255) #"\376\376\376" (make-bytes 21 255) #"\376\376\376" (make-bytes 2024 255))) - -(require (only-in racket/draw make-bitmap)) -(define IMAGE-of-UFO (make-bitmap ufo-width ufo-height)) -(send IMAGE-of-UFO set-argb-pixels 0 0 ufo-width ufo-height ufo-bytes) + http://racket-lang.org/ +|# + 30 7 #"wxtext\0" +3 1 6 #"wxtab\0" +1 1 8 #"wximage\0" +2 0 8 #"wxmedia\0" +4 1 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0" +1 0 16 #"drscheme:number\0" +3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0" +1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0" +1 0 93 +( + #"((lib \"collapsed-snipclass.ss\" \"framework\") (lib \"collapsed-sni" + #"pclass-wxme.ss\" \"framework\"))\0" +) 0 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0" +0 0 19 #"drscheme:sexp-snip\0" +0 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0" +1 0 68 +( + #"((lib \"image-core.ss\" \"mrlib\") (lib \"image-core-wxme.rkt\" \"mr" + #"lib\"))\0" +) 1 0 29 #"drscheme:bindings-snipclass%\0" +1 0 88 +( + #"((lib \"pict-snip.rkt\" \"drracket\" \"private\") (lib \"pict-snip.r" + #"kt\" \"drracket\" \"private\"))\0" +) 0 0 33 #"(lib \"bullet-snip.ss\" \"browser\")\0" +0 0 25 #"(lib \"matrix.ss\" \"htdp\")\0" +1 0 22 #"drscheme:lambda-snip%\0" +1 0 26 #"drracket:spacer-snipclass\0" +0 0 57 +#"(lib \"hrule-snip.rkt\" \"macro-debugger\" \"syntax-browser\")\0" +1 0 26 #"drscheme:pict-value-snip%\0" +0 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0" +1 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0" +2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0" +1 0 18 #"drscheme:xml-snip\0" +1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0" +1 0 21 #"drscheme:scheme-snip\0" +2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0" +1 0 10 #"text-box%\0" +1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0" +1 0 1 6 #"wxloc\0" + 0 0 65 0 1 #"\0" +0 75 1 #"\0" +0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9 +#"Standard\0" +0 75 23 #"Lucida Sans Typewriter\0" +0 12 90 -1 90 -1 1 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24 +#"framework:default-color\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15 +#"text:ports out\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1 +-1 2 15 #"text:ports err\0" +0 -1 1 #"\0" +1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1 +-1 2 1 #"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17 +#"text:ports value\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1 +-1 2 27 #"Matching Parenthesis Style\0" +0 -1 1 #"\0" +1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1 +-1 2 1 #"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 37 +#"framework:syntax-color:scheme:symbol\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 38 +#"framework:syntax-color:scheme:keyword\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 +38 #"framework:syntax-color:scheme:comment\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 37 +#"framework:syntax-color:scheme:string\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 39 +#"framework:syntax-color:scheme:constant\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 42 +#"framework:syntax-color:scheme:parenthesis\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36 +#"framework:syntax-color:scheme:error\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 36 +#"framework:syntax-color:scheme:other\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 16 +#"Misspelled Text\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 +38 #"drracket:check-syntax:lexically-bound\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 28 +#"drracket:check-syntax:set!d\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 37 +#"drracket:check-syntax:unused-require\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36 +#"drracket:check-syntax:free-variable\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 31 +#"drracket:check-syntax:imported\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 47 +#"drracket:check-syntax:my-obligation-style-pref\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 116 0 0 0 0 -1 -1 2 50 +#"drracket:check-syntax:their-obligation-style-pref\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 116 0 0 0 0 -1 -1 2 48 +#"drracket:check-syntax:unk-obligation-style-pref\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 142 28 0 0 0 -1 -1 2 +49 #"drracket:check-syntax:both-obligation-style-pref\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 139 142 28 0 0 0 -1 -1 2 +26 #"plt:htdp:test-coverage-on\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 255 56 81 0 0 0 -1 -1 2 27 +#"plt:htdp:test-coverage-off\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1 +#"\0" +0 70 1 #"\0" +1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 +-1 -1 4 4 #"XML\0" +0 70 1 #"\0" +1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 +-1 -1 2 1 #"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 37 +#"plt:module-language:test-coverage-on\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 34 139 34 0 0 0 -1 -1 2 1 +#"\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 176 48 96 0 0 0 -1 -1 2 38 +#"plt:module-language:test-coverage-off\0" +0 -1 1 #"\0" +1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 176 48 96 0 0 0 -1 -1 4 1 +#"\0" +0 71 1 #"\0" +1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 +-1 -1 4 1 #"\0" +0 -1 1 #"\0" +1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1 +-1 4 1 #"\0" +0 71 1 #"\0" +1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1 +-1 4 1 #"\0" +0 71 1 #"\0" +1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1 +-1 0 1 #"\0" +0 -1 1 #"\0" +0 13 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 +-1 -1 2 1 #"\0" +0 -1 1 #"\0" +0 13 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 +-1 -1 0 1 #"\0" +0 75 1 #"\0" +0.0 10 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 +255 255 1 -1 0 1 #"\0" +0 75 12 #"Courier New\0" +0.0 10 90 -1 90 -1 3 -1 0 1 0 1 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 255 +255 255 1 -1 2 1 #"\0" +0 -1 1 #"\0" +1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0.0 0.0 0.0 0.0 0.0 0.0 255 165 0 0 +0 0 -1 -1 4 1 #"\0" +0 71 1 #"\0" +1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 255 0 0 0 0 +0 -1 -1 2 1 #"\0" +0 70 1 #"\0" +1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 148 0 211 0 +0 0 -1 -1 2 1 #"\0" +0 70 1 #"\0" +1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0.0 0.0 0.0 1.0 1.0 1.0 0 0 255 0 0 +0 -1 -1 0 1 #"\0" +0 -1 1 #"\0" +0.0 12 -1 -1 -1 -1 -1 -1 0 0 1 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 +-1 -1 2 1 #"\0" +0 -1 1 #"\0" +0.0 12 -1 -1 -1 -1 -1 -1 0 0 1 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 +-1 -1 0 142 0 26 3 12 #"#lang racket" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 14 3 7 #"require" +0 0 22 3 1 #" " +0 0 14 3 14 #"2htdp/universe" +0 0 22 3 1 #" " +0 0 14 3 11 #"2htdp/image" +0 0 22 3 1 #")" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 22 3 1 #" " +0 0 14 3 5 #"WIDTH" +0 0 22 3 1 #" " +0 0 20 3 3 #"200" +0 0 22 3 1 #")" +0 0 22 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 22 3 1 #" " +0 0 14 3 6 #"HEIGHT" +0 0 22 3 1 #" " +0 0 20 3 3 #"300" +0 0 22 3 1 #")" +0 0 22 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 22 3 1 #" " +0 0 14 3 12 #"IMAGE-of-UFO" +0 0 22 3 1 #" " +0 2 23 4 1 #"\0" +2 -1.0 -1.0 0.0 0.0 0 6 500 +( + #"\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0Q\0\0\0F\b" + #"\6\0\0\0\264\\x\25\0\0\nvIDATx\234\355\\\353q\333\274\22" + #"=\360\334\377\202R@L7\20Q\5d\fU *\r\210j \246\322\0\351" + #"\n(7`\321\25P\223\2L\272\201\220J\1\241\234\2>\322.@{\177\330" + #"@\370\322\233\262\235\214\317\f\306\326\203" + #"\300\362`\261\330\a(FD\204W\4" + #"\21\2011\246\376\376\215`\257M\342\277" + #"\200\223\327\34\374_\231\277W!Q\222" + #"\367\267.\3372^\205\304\177\205<\211" + #"\377\275\304 D\204\307\307GDQT\371L\327up\316_B\214\343\201\216\210" + #"(\212\3104M\3224\215\0\20c\214\0T\232\246id\232&\371\276\177Lq" + #"\216\206\243\220\30\4\1\t!j\t\253kyr[\255\26\331\266Mi\232\36C" + #"\264\243\240q\27g<\36c2\231\0" + #"\200\362\377\6\203\1:\235\16\204\20R\373\1\0wwwX,\26\b\303\20\213" + #"\305\242\320\17\347\34\266m\303\262\254&" + #"\305;\16\232\232\2154M\3110\214\212v\t!\266\272^.}\2244\3230\f" + #"\312\262\254\366\232\345r\331\224\370\a\241" + #"1\22%\1\0\250\333\355\252\377\267%Qb\261X\320p8,\220\251\353\372\233" + #"^\336\215\220h\333\266\272i\3030\210" + #"s\256Ht\34g\355\265\253\264)\212\"\3224\355\257 \362`\22\223$)," + #"=\271\241\350\272N\0\310u]\"\372" + #"C\326.K\260l\"\272\335\356\241\342\36\5\a\223(\2271\347\234|\337WK" + #"\330q\34\2@A\20\250\357\356k\303" + #"\206\303\241\322H\333\266\337\214-\224\330" + #"H\342:\201\363Z\350y\36\365\373}b\214Q\24E\324\353\365\b\0%I\322" + #"\210\240y\227i\261X4\322gS\330J\23W" + #"\219\231L\224\26\246iZ\330H\344\r7\2054" +) 500 +( + #"M\225\323n\232fc\3756\201\203\356Rj\207i\232\24\4\201\322\3104M\325" + #"\362k\22r\214\267\246\215\a% \3020\4\0\364\373}DQ\4\306\30NO" + #"O\245\377\t]\327\17\351\276\2!\4" + #"\204\20`\214\301\367\375F\373>\4{" + #"\223\230\2170t]\307\343\343#\210\b" + #"\275^\17\343\361\30\0\320n\267\17\26" + #"\260\f\333\266AD\270\271\271i\274\357" + #"\275\261\257\n\347\227\26\21\221\3438\265" + #"\t\206c@\332\306\267\202\275Sa2'\250i\32\0\340\342\342\2\235N\a?" + #"\177\376\4\21\325\306\303M\3010\fL" + #"&\23\204a\250\342q\340O\275\346\245" + #"\2617\211\364\234D\2206\260\325j\301" + #"0\f\30\206\1\340i\331\35\v\253l\355k%{\17\316lK\301\217y\3T" + #"J4\311\211{+vq/\22\211H-\325\207\207\207&\345\251Ey\202\244\t" + #"\361<\17wwwG\37\177#v1\240y\247;\37\323\266\333m2M\223f" + #"\263Y\223\366\272\2028\216\3114\315B" + #"\202C:\372\257\211\275\2668\231\265\221" + #"\255\274+\313\3309\b\202\203n\360\376" + #"\376\236<\317+\224\30\352\332kgx" + #"v\316l{\236\207\321h\264\263\306\313]T\b\261r\27e\214!\212\"dY" + #"\246\34\371:0\306\320j\265\360\360\360" + #"\240\372\32\16\207\230N\247;\313\325\b" + #"va<\212\242\302R\3224\215\204\20" + #"*\355\205\32\255\224\257W\25\251\266i\362ZM\323h0\30P\267\333-\310!" + #"\333k\305\324[\2738Y\226a4\32" + #"!\3132\365\236\334\\\204\20\30\16\207\350\365z\350t:\210\343X}/o\370" + #"\3030Tu\227,\313\20\307qe\34\316\271ra4M\203\246i\350t:\340" + #"\234\343\356\356\16\223\311\244 \3\0X\226\205,\313\340y\36\0`:\235" + #"\276\254\317\270-\333\371\364\177\273\335" + #"^\2531B\b\262,\213\\\327=\310" +) 500 +( + #".\6A@\216\343\0244=\337\316\317" + #"\317U\276\362\277\377\376S\337{i\215\334\312&\316f3\f\6\3\0O\2322" + #"\36\217\361\361\343G0\306\20\3071\302" + #"0\254\325\2522d\241\2361\206\363\363" + #"\363\312\347R\203\27\213\205\322r\251\271" + #"r\354^\257\207\317\237?\343\313\227/" + #"\205d\207\224\245\327\353!\3132X\226" + #"\5\327u7\312\324\b6\261\234\246i\305\245\360}\237|\337'M\323T\r%" + #"MS\362}\237\34\307\241\363\363\363\225" + #"\332Zn\333\330J\327u)\212\"%\323\272D\361t:U\327M\247\323\303T" + #"lKl$\261\337\357\27n(\fCJ\222\204\242(R\2\327-\237\321h\244" + #"\352.\216\343\220a\30+\227e\236L" + #"!\4\231\246I\236\347\25\222\30\273\324" + #"h,\313R\375\275\4\221\25\22\363B\6AP\2709M\323\210\210T\25N\326" + #"T\312\n}}}M\214\261\332J\37\347\234\6\203\301v\302m\231\t\252#6" + #"?a777[\215\267/\na\37\225v\264\361x\254\222\253\375~\37\246i" + #"\2x\262MD\244\302/\371>=\333\256\337\277\177\203\2100\34\16\341y\36." + #"//\225\337\327n\267\221\246ia\314" + #"U(\357\256i\232\242\327\353\2011\6\306X\301n\226\341\373\276:(uqq" + #"\241l\366\272\361\366\306*v\363\266%\212\"r]\227\272\335.EQDY\226" + #"Q\232\246\224$\tq\316+'\24\344\265D\244\nV\262t\212\347\bc\e\240" + #"\244\211\262\202(\333\252\232\266\324\314\374" + #"Ji\267\333\312Kh\272Z\250$,w,\227\254\0244\212\"%\220\264s\246" + #"i\256\254\346\351\272NA\20\220\353\272$\204\240$IT\"\267|*b\325M" + #"\225\3534\345CR\206al\274A\313\262\n\341\3411P\253\211r" + #"\6\363\301\375r\271\244\351tJB\b\352\365z\25\203]&\"\216c" +) 500 +( + #"2\f\203\202 \240 \bh6\233Q\253\325\"\306\30Y\226\265\235p%M\314" + #"\23X7\31u\310W\t\1l=\366.\250%q0\30\324.\227]\227A\222" + #"$J{\244V\265\333\355\255k\321e\22\313}I\23\261\t\371R\6P|@\253\325B\222$\215\234b\215\343\30\337\277\177\307r\271\304h4RN" + #"\362&H\271(\267\31\204a\2100\fqrr\202\257_\277n-\337\267o\337" + #"\224\363}vv\206_\277~\355x\27kPfUn\nuj\177\250A\336\344" + #"\353\225\337\307\226.\316\246~\210\236\226" + #"u>\0h\322\177\254H(c\344|\204p(\366%\177_\22W\215-ww" + #"\306\230\362y\233@EB]\327\211s\336\330\0\207\240\t\22\363(\207\260Me" + #"\342+5\226\371|\16\3169<\317\253" + #"\244\234\3362\350\331nR\2153\375\360" + #"\360\0\317\3630\30\f\n\367\264.\361\273\v*Y\34\31\r\310\267;\235\16z" + #"\275\36t]\307\247O\237\320\355v\e" + #"\31x\e\234\234\234\200\236V\313\316\327" + #"\206a\210\273\273;\4A\260\262\230%\204@\20\4\207\212Y_w\316\v=\237" + #"\3171\237\317\325k\231\306\322u\35\247" + #"\247\247\350v\2738==U!`\271\237}\23\243Y\226mE\236L\233\311C" + #"\364q\34o\225\226k\22\265$Z\226" + #"\5\3169\34\307Q\357I\355\244\347\323" + #"\rr)\224\265\266\335n\253\274\241\314" + #"R\23Q!c\275\16\222\370\374\203CR\253\200\3659\307\362_M\323\260X," + #"\320j\265\20\3071F\243QcK\270,t\1x\16\217\362!\232\357\373j\327" + #"\326u\235|\337/\224L\367mB\210\225m]\332,\337\362N\274m\333*:" + #"\271\275\275\255\204\231\371\335\31\rF/\265$\2" + #"P'\370\245\0\223\311\204\30c\364\343\307\17\"" +) 500 +( + #"\372S6\235\315f\344\272.u:\35\25\345\f\6\203\332BR\23\244\313~M" + #"\323,\220\26\4\1-\227K\25\325\4A@\213\305B]\233$I\345\311\256\246" + #"\334\270\n\211\345 \377\354\354\214\202 " + #"P\232'C6\333\266\2111\246\234V" + #"y\203\371~\344\347I\222\220\353\272J" + #"\233e\342u\25Y\234\363\312\1\322\262" + #"|R\16\371\272\374\271\357\373\24\4\301" + #"\312\311<\252\237\350\272na\251\224\323" + #"\367ggg4\34\16\25\t\266m\257\275\231|\234\\>\f/\307\220\310gm" + #"\344R,\307\357\345q\344\344\372\276_ylc\335\362?j\304\222?\314\276m" + #"\343\234\253\31\17\202\200\242(RI\214<\362$.\227Ku\275\22&\367Z\206" + #"\237\345t\227\324\360\262\335\344\234\257$" + #"\217s^\260\341M\247\304@T\r\313\362K\3154M\262,\253\326\340\357R\220" + #"\3274\255pp=\257\3612/)\373t]\227\306\343q\201\204:mZ7\276" + #"\264\231\262d\233O27\235\305\251\255" + #"\261$I\242\226\262\256\353*<\212\242\210\f\303(=" +0 0 22 3 1 #" " +0 0 14 3 13 #"current-state" +0 0 22 3 1 #" " +0 0 20 3 3 #"300" +0 0 22 3 2 #"))" +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 22 3 1 #"(" +0 0 15 3 6 #"define" +0 0 22 3 2 #" (" +0 0 14 3 4 #"main" +0 0 22 3 1 #")" +0 0 22 29 1 #"\n" +0 0 22 3 3 #" (" +0 0 14 3 8 #"big-bang" +0 0 22 3 1 #" " +0 0 20 3 1 #"0" +0 0 22 3 40 #" " +0 0 17 3 17 #";; initial state " +0 0 22 29 1 #"\n" +0 0 22 3 13 #" (" +0 0 14 3 7 #"on-tick" +0 0 22 3 1 #" " +0 0 14 3 14 #"add-3-to-state" +0 0 22 3 18 #") " +0 0 17 3 32 #";; when the clock ticks, add ..." +0 0 22 29 1 #"\n" +0 0 22 3 13 #" (" +0 0 14 3 7 #"to-draw" +0 0 22 3 1 #" " +0 0 14 3 30 #"draw-a-ufo-onto-an-empty-scene" +0 0 22 3 2 #") " +0 0 17 3 36 #";; when the state changes, draw ... " +0 0 22 29 1 #"\n" +0 0 22 3 13 #" (" +0 0 14 3 9 #"stop-when" +0 0 22 3 1 #" " +0 0 14 3 12 #"state-is-300" +0 0 22 3 18 #"))) " +0 0 17 3 45 #";; when the UFO's y coordinate is 300, stop. " +0 0 22 29 1 #"\n" +0 0 22 29 1 #"\n" +0 0 17 3 43 #";; to run the program, click run and enter " +0 0 22 29 1 #"\n" +0 0 17 3 14 #";; > (main) " +0 0 22 29 1 #"\n" +0 0 17 3 18 #";; at the prompt. " +0 0