WXME0107 ## wxtextwxtabwxmediawximage"(lib "syntax-browser.ss" "mrlib")drscheme:number$(lib "comment-snip.ss" "framework")+(lib "collapsed-snipclass.ss" "framework")drscheme:sexp-snip!(lib "bullet-snip.ss" "browser")drscheme:bindings-snipclass%$(lib "cache-image-snip.ss" "mrlib")drscheme:lambda-snip%java-comment-box%java-interactions-box%-(lib "image-snipr.ss" "slideshow" "private")drscheme:pict-value-snip%&(lib "pict-snipclass.ss" "slideshow")"drscheme:vertical-separator-snip%wxbaddrscheme:xml-snip(lib "xml-snipclass.ss" "xml")drscheme:scheme-snip"(lib "scheme-snipclass.ss" "xml")make-line-snipmake-line-sniptest-case-box% text-box%wxlocJK ZÁÿZÁÿÁÿ€ÿ€ÿ€ÿÁÿ StandardK Courier New ZÁÿZÁÿÁÿ€ÿ€ÿ€ÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿframework:default-colorÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿÁÿ?ð\ÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð"€‹"ÁÿÁÿMatching Parenthesis StyleÁÿ?ð\ÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð"€‹"ÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð&&€€ÁÿÁÿ(framework:syntax-coloring:scheme:symbolÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð&&€€ÁÿÁÿ)framework:syntax-coloring:scheme:keywordÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð&&€€ÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÂtÁÿÁÿ)framework:syntax-coloring:scheme:commentÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÂtÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð)€€&ÁÿÁÿ(framework:syntax-coloring:scheme:stringÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð)€€&ÁÿÁÿ*framework:syntax-coloring:scheme:constantÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð)€€&ÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€„<$ÁÿÁÿ-framework:syntax-coloring:scheme:parenthesisÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€„<$ÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÿÁÿÁÿ'framework:syntax-coloring:scheme:errorÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÿÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðÁÿÁÿ'framework:syntax-coloring:scheme:otherÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðQp€ËÁÿÁÿ1drscheme:check-syntax:lexically-bound-identifierÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðQp€ËÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðD€ËÁÿÁÿ*drscheme:check-syntax:imported-identifierÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðD€ËÁÿÁÿ%profj:syntax-coloring:scheme:keywordÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð"€‹"ÁÿÁÿ$profj:syntax-coloring:scheme:stringÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð"€‹"ÁÿÁÿ%profj:syntax-coloring:scheme:literalÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð"€‹"ÁÿÁÿ%profj:syntax-coloring:scheme:commentÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÂtÁÿÁÿ#profj:syntax-coloring:scheme:errorÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÿÁÿÁÿ(profj:syntax-coloring:scheme:identifierÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð&&€€ÁÿÁÿ%profj:syntax-coloring:scheme:defaultÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðÁÿÁÿF?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿXMLF?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€–€–ÁÿÁÿÁÿ?ðÁÿÁÿ]ÁÿÁÿÁÿ?ð?ð?ð€ÿÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€¯ÁÿÁÿG?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÿÁÿÁÿG?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÿÁÿÁÿG?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðdÁÿÁÿF@\ÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿF?ð\ÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿF?ð\ÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÿÁÿÁÿF?ðÁþÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿF?ðÁþÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÿÁÿÁÿF?ð\ÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð2€Í2ÁÿÁÿF?ðÁÿÁÿ]ÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿF?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÿÁÿÁÿK?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€ÿÁÿÁÿF?ó333333\ÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿK?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿK?ð\ÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð?ð?ð?ðÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðÁÿÁÿ Áÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€²""ÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€²""ÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€²""ÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€²""ÁÿÁÿ Áÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ€ÿ€ÿ€ÿÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ€ÿ€ÿ€ÿÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ€ÿ€ÿ€ÿÁÿÁÿ Áÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ€ÿ€ÿ€ÿÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ€ÿ€ÿ€ÿÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ€ÿ€ÿ€ÿÁÿÁÿÁÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ€²""€ÿ€ÿ€ÿÁÿÁÿK Courier New ZÁÿZÁÿÁÿ€ÿ€ÿ€ÿÁÿ Áÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€²""ÁÿÁÿ Áÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ðÁÿÁÿ Áÿ?ðÁÿÁÿÁÿÁÿÁÿÁÿ?ð?ð?ð€²""ÁÿÁÿ…¦( d e f i n e - s t r u c t@ world@ (player))@ ; ;  A  w o r l d  i s  a  s t r u c t u r e :@ ; ;  ( m a k e - w o r l d  a u p )@ @ ( d e f i n e -struct@ aup@ (x@ y@ mv@ pic@ shots))@ ; ;  ( m a k e - a u p  n u m b e r  number  n u m b e r i ma ge  [ l i s t o f  p o s n ])@ @ @ ; ;  w o r l d  h e i g h t@ ( d e f i n e@ WIDTH@ 640)@ ; ; w o r l d  w i d t h@ ( d e f i n e@ HEIGHT@ 480)@ @ ;;  U F O@ ( d e f i n e@ player@ (make-aup@ 320@ 440@ æ0@ @¿ð¿ð€º‰PNG  IHDR((œ/:IDATxœí×A€ À®ñÿ_®¼JÁP4±»gÔT±@U¥ MKˆÈÙ{8ε·qÄÏB˜0a„ N Ç«õæÌwu¬Áö®J½a/*mÝw5ù^®Ïàaƒo³°ù%LÆ¿ åë1aÂÿƒË²ëxrV¶ÿÒ/$_/Î7@ empty))@ ( d e f i n e@ IMAGE0@ (empty-scene@ WIDTH@ HEIGHT))@ @ @ @ ; ;  a u p - d r a w :  a u p  - >  i m a g e@ ; ;  d r a w s  a up@ ( define@ (aup-draw@ obj@ IMAGE0)@ @ (place-image@ (aup-pic@ obj)@ (aup-x@ obj)@ (aup-y@ obj)@ IMAGE0))@ @ @ ; ;  a u p - m o v e :  a u p -> aup@ ; ;  m o v e s  a u p  a c co r d i n g  to  c u r r e n t  s p e e d@ ( d e f i n e@ (aup-move@ obj)@ @ (make-aup@ (+@ (aup-mv@ obj)@ (aup-x@ obj))@ (aup-y@ obj)@ (aup-mv@ obj)@ (aup-pic@ obj)@ ( aup-shots@ obj)))@ @ ; ;  a u p - r i g ht :  a up ->  a up@ ; ;  m a k e  a u p g o  r i g h t@ ( d e f i n e@ (aup-right@ obj)@ @ (make-aup@ (aup-x@ obj)@ (aup-y@ obj)@ (add1@ (aup-mv@ obj))@ (aup-pic@ obj)@ ( aup-shots@ obj)))@ @ ; ;  a u p - l e f  t: aup -> aup@ ; ;  m a k e  a u p g o  l e f t@ ( d e f i n e@ (aup-left@ obj)@ @ (make-aup@ (aup-x@ obj)@ (aup-y@ obj)@ (sub1@ (aup-mv@ obj))@ (aup-pic@ obj)@ ( aup-shots@ obj)))@ @ ; ;  a u p - s h o o t :  a u p  ->  a u p ; ;  a d d s  a  b u l l e t  t o  s h o t s ( d e f i n e ( aup-shoot obj) @ @ ; ;  w o r l d - d r a w : w or l d  - > i m a g e@  ;; draw c u r r e nt  wo r l d  im a g e@ ( de fi n e@ (world-draw@ w)@ @ ( c o n d@ @ @ [(world?@ w)@ (aup-draw@ (world-player@ w)@ IMAGE0)]))@ @ @ ; ;  w o r l d - n e x t: w or ld  -> wo r l d@  ;; draw c u r r ent  wo rl d  im a g e@ ( de fi n e@ (world-next@ w)@ @ ( c o n d@ @ [(world?@ w)@ (make-world@ (aup-move@ (world-player@ w)))]))@ @ ; ;  w o r l d - k e y p r e s s:  w o r ld  - >  w o r l d@ ; ;  p r o c e s s e s  k e y st r o k e s@ ( d e f i n e@ (world-keypress@ k@ w)@ @ ( c o n d@ @ [(symbol?@ k)@ @ ( c o n d@ @ [(symbol=?@ k@ 'right)@ (make-world@ (aup-right@ (world-player@ w)))]@ @ [(symbol=?@ k@ 'left)@ ( make-world@ (aup-left@ (world-player@ w)))]@ @ @ [else@ w])]@ @ [else@ w]))@ @ @ @ @ ; ;  c l i c k : wor ld -> wo r ld@ ; ;  p r o c e s s es a k ey  e v ent@ ( define@ (mainloop@ w)@ @ (update@ (world-draw@ w)@ produce@ ( world-next@ w)))@ @ @ @ @ (big-bang@ WIDTH@ HEIGHT@ .1@ (make-world@ player))@ (on-tick-event@ mainloop)@ (on-key-event@ world-keypress)