home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Basic / wst!blz4.dms / in.adf / simonsdemos / isoblaster.bb < prev    next >
Unknown  |  1994-09-05  |  3.8 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 00 3b 20 49 73 6f 42 | 6c 61 73 74 65 72 20 56 |;.; IsoB|laster V|
|00000010| 30 2e 31 20 62 79 20 53 | 69 6d 6f 6e 20 41 72 6d |0.1 by S|imon Arm|
|00000020| 73 74 72 6f 6e 67 00 3b | 00 00 3b 00 3b 20 73 65 |strong.;|..;.; se|
|00000030| 74 20 75 70 20 61 6c 6c | 20 74 68 65 20 6d 61 69 |t up all| the mai|
|00000040| 6e 20 74 79 70 65 73 20 | 61 6e 64 20 61 72 72 61 |n types |and arra|
|00000050| 79 73 00 3b 00 00 80 01 | 20 2e 6f 62 6a 65 63 74 |ys.;....| .object|
|00000060| 20 20 3b 73 61 6d 65 20 | 69 73 20 49 73 6f 52 65 | ;same |is IsoRe|
|00000070| 6e 64 65 72 2e 62 62 20 | 62 75 74 20 77 69 74 68 |nder.bb |but with|
|00000080| 20 65 78 74 72 61 20 66 | 69 65 6c 64 73 00 20 20 | extra f|ields. |
|00000090| 64 65 70 74 68 2e 71 3a | 69 64 20 20 20 20 20 3b |depth.q:|id ;|
|000000a0| 64 65 70 74 68 20 61 6e | 64 20 73 68 61 70 65 20 |depth an|d shape |
|000000b0| 69 64 20 30 3d 6d 65 20 | 31 3d 6d 6f 7a 7a 79 00 |id 0=me |1=mozzy.|
|000000c0| 20 20 78 3a 79 3a 7a 20 | 20 20 20 20 20 20 20 20 | x:y:z | |
|000000d0| 20 3b 33 44 20 63 6f 6f | 72 64 69 6e 61 74 65 73 | ;3D coo|rdinates|
|000000e0| 20 6f 66 20 73 68 61 70 | 65 00 20 20 76 78 3a 76 | of shap|e. vx:v|
|000000f0| 79 20 20 20 20 20 20 20 | 20 20 20 3b 76 65 6c 6f |y | ;velo|
|00000100| 63 69 74 79 20 69 6e 20 | 62 6f 74 68 20 78 20 61 |city in |both x a|
|00000110| 6e 64 20 79 00 20 20 72 | 6f 74 3a 72 6f 74 32 3a |nd y. r|ot:rot2:|
|00000120| 72 6f 74 76 20 20 3b 72 | 6f 74 61 74 69 6f 6e 20 |rotv ;r|otation |
|00000130| 76 61 72 69 61 62 6c 65 | 73 00 20 20 73 78 3a 73 |variable|s. sx:s|
|00000140| 79 20 20 20 20 20 20 20 | 20 20 20 3b 73 63 72 65 |y | ;scre|
|00000150| 65 6e 20 70 6f 73 69 74 | 69 6f 6e 20 61 66 74 65 |en posit|ion afte|
|00000160| 72 20 61 6e 20 69 73 6f | 2d 70 72 6f 6a 65 63 74 |r an iso|-project|
|00000170| 69 6f 6e 00 80 02 20 80 | 01 00 00 80 04 20 80 b3 |ion... .|..... ..|
|00000180| 20 62 6f 62 2e 6f 62 6a | 65 63 74 28 35 30 29 00 | bob.obj|ect(50).|
|00000190| 00 80 33 20 2e 6f 62 6a | 65 63 74 20 2a 6d 65 00 |..3 .obj|ect *me.|
|000001a0| 00 80 04 20 71 73 69 6e | 28 32 35 35 29 2c 71 63 |... qsin|(255),qc|
|000001b0| 6f 73 28 32 35 35 29 20 | 20 3b 73 65 74 20 75 70 |os(255) | ;set up|
|000001c0| 20 61 72 72 61 79 20 6f | 66 20 73 69 6e 2f 63 6f | array o|f sin/co|
|000001d0| 73 20 76 61 6c 75 65 73 | 20 73 6f 00 80 16 20 72 |s values| so... r|
|000001e0| 3d 30 20 80 18 20 32 35 | 35 20 20 20 20 20 20 20 |=0 .. 25|5 |
|000001f0| 20 20 20 20 3b 77 65 20 | 64 6f 6e 27 74 20 68 61 | ;we |don't ha|
|00000200| 76 65 20 74 6f 20 63 61 | 6c 6c 20 73 79 73 20 6f |ve to ca|ll sys o|
|00000210| 6e 65 73 20 69 6e 20 67 | 61 6d 65 00 20 20 71 73 |nes in g|ame. qs|
|00000220| 69 6e 28 72 29 3d e0 0a | 28 80 ba 2a 72 2f 31 32 |in(r)=..|(..*r/12|
|00000230| 38 29 3a 71 63 6f 73 28 | 72 29 3d e0 05 28 80 ba |8):qcos(|r)=..(..|
|00000240| 2a 72 2f 31 32 38 29 00 | 80 17 00 00 80 04 20 6d |*r/128).|...... m|
|00000250| 61 70 2e 77 28 32 30 2c | 32 30 29 20 3b 62 69 74 |ap.w(20,|20) ;bit|
|00000260| 20 73 6d 61 6c 6c 65 72 | 20 74 68 61 6e 20 74 68 | smaller| than th|
|00000270| 65 20 64 75 6e 67 65 6f | 6e 20 28 61 74 20 70 72 |e dungeo|n (at pr|
|00000280| 65 73 65 6e 74 29 00 00 | 3b 00 3b 20 6c 6f 61 64 |esent)..|;.; load|
|00000290| 20 61 6c 6c 20 74 68 65 | 20 67 72 61 70 68 69 63 | all the| graphic|
|000002a0| 73 20 66 72 6f 6d 20 64 | 69 73 6b 00 3b 00 00 cd |s from d|isk.;...|
|000002b0| 0a 20 30 2c 22 62 6c 6f | 63 6b 73 2e 73 68 61 70 |. 0,"blo|cks.shap|
|000002c0| 65 73 22 20 20 3b 74 69 | 6c 65 73 20 66 6f 72 20 |es" ;ti|les for |
|000002d0| 74 68 65 20 67 72 6f 75 | 6e 64 00 cd 0a 20 34 2c |the grou|nd... 4,|
|000002e0| 22 62 61 6c 6c 73 2e 73 | 68 61 70 65 73 22 20 20 |"balls.s|hapes" |
|000002f0| 20 3b 62 61 6c 6c 73 20 | 66 6f 72 20 66 78 20 65 | ;balls |for fx e|
|00000300| 74 63 2e 00 ce 01 20 30 | 2c 22 62 61 6c 6c 73 2e |tc.... 0|,"balls.|
|00000310| 69 66 66 22 20 20 20 20 | 20 3b 70 61 6c 65 74 74 |iff" | ;palett|
|00000320| 65 20 66 6f 72 20 66 6f | 72 67 72 6f 75 6e 64 20 |e for fo|rground |
|00000330| 70 6c 61 79 66 69 65 6c | 64 00 ce 01 20 30 2c 22 |playfiel|d... 0,"|
|00000340| 62 6c 6f 63 6b 73 2e 69 | 66 66 22 2c 38 20 20 3b |blocks.i|ff",8 ;|
|00000350| 70 61 6c 65 74 74 65 20 | 66 6f 72 20 62 61 63 6b |palette |for back|
|00000360| 72 67 72 6f 75 6e 64 00 | cd 0a 20 31 36 2c 22 69 |rground.|.. 16,"i|
|00000370| 73 6f 73 68 61 70 65 73 | 22 20 20 20 20 20 3b 73 |soshapes|" ;s|
|00000380| 68 61 70 65 73 20 72 65 | 6e 64 65 72 65 64 20 62 |hapes re|ndered b|
|00000390| 79 20 49 73 6f 52 65 6e | 64 65 72 2e 62 62 00 00 |y IsoRen|der.bb..|
|000003a0| d0 01 20 30 2c 33 32 30 | 2b 36 34 2c 32 35 36 2b |.. 0,320|+64,256+|
|000003b0| 38 30 2c 33 20 20 3b 66 | 6f 72 65 67 72 6f 75 6e |80,3 ;f|oregroun|
|000003c0| 64 20 41 00 d0 01 20 31 | 2c 33 32 30 2b 36 34 2c |d A... 1|,320+64,|
|000003d0| 32 35 36 2b 38 30 2c 33 | 20 20 3b 66 6f 72 65 67 |256+80,3| ;foreg|
|000003e0| 72 6f 75 6e 64 20 42 00 | d0 01 20 32 2c 36 34 30 |round B.|.. 2,640|
|000003f0| 2c 35 31 32 2c 33 20 20 | 20 20 20 20 20 20 3b 6c |,512,3 | ;l|
|00000400| 61 72 67 65 20 73 63 72 | 6f 6c 6c 69 6e 67 20 62 |arge scr|olling b|
|00000410| 61 63 6b 67 72 6f 75 6e | 64 00 00 ca 01 20 30 2c |ackgroun|d.... 0,|
|00000420| 33 32 3a ca 01 20 31 2c | 33 32 20 20 20 20 20 3b |32:.. 1,|32 ;|
|00000430| 74 77 6f 20 71 75 65 75 | 65 73 20 66 6f 72 20 64 |two queu|es for d|
|00000440| 6f 75 62 6c 65 20 62 75 | 66 66 65 72 65 64 20 62 |ouble bu|ffered b|
|00000450| 6c 69 74 74 69 6e 67 00 | 00 80 0d 20 70 20 33 32 |litting.|... p 32|
|00000460| 30 2b 28 60 31 2d 60 32 | 29 80 44 20 34 2c 31 32 |0+(`1-`2|).D 4,12|
|00000470| 38 2b 28 60 31 2b 60 32 | 2d 60 33 29 80 44 33 3a |8+(`1+`2|-`3).D3:|
|00000480| 80 02 20 80 0d 20 20 20 | 20 20 20 20 3b 62 61 63 |.. .. | ;bac|
|00000490| 6b 00 80 0d 20 66 20 33 | 32 30 2b 33 32 2d 73 78 |k... f 3|20+32-sx|
|000004a0| 2b 28 60 31 2d 60 32 29 | 80 44 34 2c 31 32 38 2b |+(`1-`2)|.D4,128+|
|000004b0| 33 32 2d 73 79 2b 28 60 | 31 2b 60 32 2d 60 33 29 |32-sy+(`|1+`2-`3)|
|000004c0| 80 44 33 3a 80 02 20 80 | 0d 20 20 3b 66 72 6f 6e |.D3:.. .|. ;fron|
|000004d0| 74 00 00 3b 00 3b 20 63 | 72 65 61 74 65 20 42 6c |t..;.; c|reate Bl|
|000004e0| 69 74 7a 20 4d 6f 64 65 | 20 64 69 73 70 6c 61 79 |itz Mode| display|
|000004f0| 20 77 68 69 63 68 20 66 | 6f 72 20 74 68 69 73 20 | which f|or this |
|00000500| 67 61 6d 65 20 69 73 00 | 3b 20 64 75 61 6c 20 70 |game is.|; dual p|
|00000510| 6c 61 79 66 69 65 6c 64 | 20 77 69 74 68 20 64 6f |layfield| with do|
|00000520| 75 62 6c 65 20 62 75 66 | 66 65 72 65 64 20 66 6f |uble buf|fered fo|
|00000530| 72 65 67 72 6f 75 6e 64 | 21 00 3b 00 00 80 34 00 |reground|!.;...4.|
|00000540| c8 01 20 30 2c 34 34 2c | 33 32 30 2c 32 35 36 2c |.. 0,44,|320,256,|
|00000550| 24 66 66 66 61 2c 36 2c | 38 2c 33 32 2c 33 32 30 |$fffa,6,|8,32,320|
|00000560| 2b 36 34 2c 36 34 30 00 | 80 2c 20 ce 09 20 30 00 |+64,640.|., .. 0.|
|00000570| 00 80 06 20 73 65 74 75 | 70 6d 61 70 20 20 3b 70 |... setu|pmap ;p|
|00000580| 6c 61 63 65 20 61 20 66 | 65 77 20 62 6c 6f 63 6b |lace a f|ew block|
|00000590| 73 20 69 6e 20 74 68 65 | 20 32 44 20 61 72 72 61 |s in the| 2D arra|
|000005a0| 79 00 80 06 20 64 72 61 | 77 6d 61 70 20 20 20 3b |y... dra|wmap ;|
|000005b0| 64 72 61 77 20 6d 61 70 | 20 6f 6e 74 6f 20 6c 61 |draw map| onto la|
|000005c0| 72 67 65 20 62 61 63 6b | 67 72 6f 75 6e 64 20 70 |rge back|ground p|
|000005d0| 6c 61 79 66 69 65 6c 64 | 00 80 06 20 69 6e 69 74 |layfield|... init|
|000005e0| 67 61 6d 65 20 20 3b 69 | 6e 69 74 69 61 6c 69 73 |game ;i|nitialis|
|000005f0| 65 20 6f 62 6a 65 63 74 | 73 20 69 6e 20 74 68 65 |e object|s in the|
|00000600| 20 67 61 6d 65 00 00 3b | 20 74 68 65 6e 20 6f 66 | game..;| then of|
|00000610| 20 63 6f 75 72 73 65 20 | 74 68 65 20 73 74 61 6e | course |the stan|
|00000620| 64 61 72 64 20 6d 61 69 | 6e 20 6c 6f 6f 70 20 6f |dard mai|n loop o|
|00000630| 66 20 61 6e 79 20 67 61 | 6d 65 2e 2e 2e 00 00 80 |f any ga|me......|
|00000640| 0c 20 df 04 28 30 29 3d | 30 00 20 20 80 37 3a c8 |. ..(0)=|0. .7:.|
|00000650| 05 20 64 62 2c 33 32 2c | 34 30 2c 73 78 3a c8 06 |. db,32,|40,sx:..|
|00000660| 20 32 2c 73 78 2c 73 79 | 2c 33 32 20 20 3b 70 6f | 2,sx,sy|,32 ;po|
|00000670| 73 69 74 69 6f 6e 20 62 | 69 74 6d 61 70 73 20 69 |sition b|itmaps i|
|00000680| 6e 20 64 69 73 70 6c 61 | 79 00 20 20 64 62 3d 31 |n displa|y. db=1|
|00000690| 2d 64 62 3a 80 2c 20 d0 | 01 20 64 62 20 20 20 20 |-db:., .|. db |
|000006a0| 20 3b 73 77 61 70 20 62 | 75 66 66 65 72 20 66 6f | ;swap b|uffer fo|
|000006b0| 72 20 64 6f 75 62 6c 65 | 20 62 75 66 66 65 72 65 |r double| buffere|
|000006c0| 64 20 64 72 61 77 69 6e | 67 00 20 20 80 06 20 6d |d drawin|g. .. m|
|000006d0| 6f 76 65 6d 65 20 20 20 | 20 20 20 20 20 20 20 20 |oveme | |
|000006e0| 20 20 20 3b 6d 6f 76 65 | 20 6d 65 00 20 20 80 06 | ;move| me. ..|
|000006f0| 20 6d 6f 76 65 74 68 65 | 6d 20 20 20 20 20 20 20 | movethe|m |
|00000700| 20 20 20 20 20 3b 61 6e | 64 20 74 68 65 6d 00 20 | ;an|d them. |
|00000710| 20 ca 03 20 64 62 3a 80 | 06 20 64 72 61 77 62 6f | .. db:.|. drawbo|
|00000720| 62 73 20 3b 74 68 65 6e | 20 64 72 61 77 20 65 76 |bs ;then| draw ev|
|00000730| 65 72 79 6f 6e 65 20 69 | 6e 20 6e 65 77 20 70 6f |eryone i|n new po|
|00000740| 73 00 3b 20 20 4d 4f 56 | 45 23 2d 31 2c 24 64 66 |s.; MOV|E#-1,$df|
|00000750| 66 31 38 30 20 20 20 3b | 76 69 65 77 20 66 72 61 |f180 ;|view fra|
|00000760| 6d 65 20 74 69 6d 65 21 | 00 80 c1 00 00 80 02 00 |me time!|........|
|00000770| 00 3b 00 3b 20 61 6e 64 | 20 6e 6f 77 20 77 68 61 |.;.; and| now wha|
|00000780| 74 20 6d 61 6b 65 73 20 | 65 76 65 72 79 74 68 69 |t makes |everythi|
|00000790| 6e 67 20 77 6f 72 6b 20 | 70 72 6f 70 65 72 6c 79 |ng work |properly|
|000007a0| 21 00 3b 00 00 2e 6d 6f | 76 65 6d 65 3a 00 20 20 |!.;...mo|veme:. |
|000007b0| 80 ca 20 2a 6d 65 20 20 | 20 20 20 20 20 20 20 20 |.. *me | |
|000007c0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 75 73 65 20 | | ;use |
|000007d0| 70 6f 69 6e 74 65 72 20 | 74 6f 20 6d 79 20 6f 62 |pointer |to my ob|
|000007e0| 6a 65 63 74 20 69 6e 20 | 6c 69 73 74 00 20 20 5c |ject in |list. \|
|000007f0| 72 6f 74 3d bc 06 28 5c | 72 6f 74 2d df 01 28 31 |rot=..(\|rot-..(1|
|00000800| 29 2f 32 2c 30 2c 31 36 | 29 20 3b 72 6f 74 61 74 |)/2,0,16|) ;rotat|
|00000810| 65 20 61 63 63 6f 72 64 | 69 6e 67 20 74 6f 20 6a |e accord|ing to j|
|00000820| 6f 79 73 74 69 63 6b 00 | 20 20 80 0b 20 df 04 28 |oystick.| .. ..(|
|00000830| 31 29 3d 31 20 20 20 20 | 20 20 20 20 20 20 20 20 |1)=1 | |
|00000840| 20 20 20 20 20 20 20 20 | 3b 69 66 20 66 69 72 65 | |;if fire|
|00000850| 00 20 20 20 20 5c 76 78 | 2b 71 73 69 6e 28 5c 72 |. \vx|+qsin(\r|
|00000860| 6f 74 20 80 44 20 34 29 | 20 80 45 20 36 20 20 20 |ot .D 4)| .E 6 |
|00000870| 20 3b 74 68 65 6e 20 74 | 68 72 75 73 74 20 69 6e | ;then t|hrust in|
|00000880| 20 64 69 72 65 63 74 69 | 6f 6e 20 49 00 20 20 20 | directi|on I. |
|00000890| 20 5c 76 79 2b 71 63 6f | 73 28 5c 72 6f 74 20 80 | \vy+qco|s(\rot .|
|000008a0| 44 20 34 29 20 80 45 20 | 36 20 20 20 20 3b 61 6d |D 4) .E |6 ;am|
|000008b0| 20 70 6f 69 6e 74 69 6e | 67 20 28 6d 79 20 5c 72 | pointin|g (my \r|
|000008c0| 6f 74 29 00 20 20 80 c0 | 00 20 20 5c 76 78 2d 5c |ot). ..|. \vx-\|
|000008d0| 76 78 20 80 45 20 35 20 | 20 20 20 20 20 20 20 20 |vx .E 5 | |
|000008e0| 20 3b 74 68 69 73 20 73 | 75 62 74 72 61 63 74 73 | ;this s|ubtracts|
|000008f0| 20 61 20 66 72 61 63 74 | 69 6f 6e 20 6f 66 20 6d | a fract|ion of m|
|00000900| 79 20 76 65 6c 6f 63 69 | 74 79 00 20 20 5c 76 79 |y veloci|ty. \vy|
|00000910| 2d 5c 76 79 20 80 45 20 | 35 20 20 20 20 20 20 20 |-\vy .E |5 |
|00000920| 20 20 20 3b 6f 66 66 20 | 6d 79 20 76 65 6c 6f 63 | ;off |my veloc|
|00000930| 69 74 79 20 28 73 61 6d | 65 20 61 73 20 64 72 61 |ity (sam|e as dra|
|00000940| 67 29 00 20 20 5c 78 3d | bc 0a 28 5c 78 2b 5c 76 |g). \x=|..(\x+\v|
|00000950| 78 2c 30 2c 31 39 29 20 | 3b 74 68 69 73 20 61 64 |x,0,19) |;this ad|
|00000960| 64 73 20 63 65 6c 6f 63 | 69 74 79 20 74 6f 20 6d |ds celoc|ity to m|
|00000970| 79 20 70 6f 73 69 74 69 | 6f 6e 00 20 20 5c 79 3d |y positi|on. \y=|
|00000980| bc 0a 28 5c 79 2b 5c 76 | 79 2c 30 2c 31 39 29 00 |..(\y+\v|y,0,19).|
|00000990| 20 20 5c 73 78 3d 21 70 | 7b 5c 78 2c 5c 79 2c 5c | \sx=!p|{\x,\y,\|
|000009a0| 7a 7d 20 20 20 20 20 20 | 20 20 20 3b 63 61 6c 63 |z} | ;calc|
|000009b0| 75 6c 61 74 65 20 73 63 | 72 65 65 6e 20 63 6f 6f |ulate sc|reen coo|
|000009c0| 72 64 69 6e 61 74 65 73 | 00 20 20 73 78 3d bc 0a |rdinates|. sx=..|
|000009d0| 28 5c 73 78 2d 31 36 30 | 2c 30 2c 33 32 30 29 20 |(\sx-160|,0,320) |
|000009e0| 3b 63 61 6c 75 6c 61 74 | 65 20 73 63 72 6f 6c 6c |;calulat|e scroll|
|000009f0| 20 76 61 6c 75 65 73 20 | 66 6f 72 20 64 69 73 70 | values |for disp|
|00000a00| 6c 61 79 20 73 6f 00 20 | 20 73 79 3d bc 0a 28 5c |lay so. | sy=..(\|
|00000a10| 73 79 2d 31 32 38 2c 30 | 2c 32 35 36 29 20 3b 49 |sy-128,0|,256) ;I|
|00000a20| 20 61 6d 20 61 73 20 63 | 6c 6f 73 65 20 74 6f 20 | am as c|lose to |
|00000a30| 63 65 6e 74 65 72 20 61 | 73 20 70 6f 73 73 69 62 |center a|s possib|
|00000a40| 6c 65 00 20 20 5c 73 78 | 2d 73 78 2b 33 32 3a 5c |le. \sx|-sx+32:\|
|00000a50| 73 79 2d 73 79 2b 33 32 | 00 20 20 5c 64 65 70 74 |sy-sy+32|. \dept|
|00000a60| 68 3d 5c 78 2b 5c 79 20 | 20 20 20 20 20 20 20 20 |h=\x+\y | |
|00000a70| 20 20 20 20 3b 64 6f 6e | 27 74 20 66 6f 72 67 65 | ;don|'t forge|
|00000a80| 74 20 6d 79 20 64 65 70 | 74 68 20 76 61 72 69 61 |t my dep|th varia|
|00000a90| 62 6c 65 00 20 20 80 0b | 20 6d 61 70 28 5c 78 2c |ble. ..| map(\x,|
|00000aa0| 5c 79 29 3d 31 20 20 20 | 20 20 20 20 20 20 20 3b |\y)=1 | ;|
|00000ab0| 6f 68 20 61 6e 64 20 63 | 6f 6c 6f 75 72 20 69 6e |oh and c|olour in|
|00000ac0| 20 62 6c 6f 63 6b 20 69 | 66 20 49 20 73 74 61 6e | block i|f I stan|
|00000ad0| 64 20 6f 6e 20 6f 6e 65 | 00 20 20 20 20 80 2c 20 |d on one|. ., |
|00000ae0| d0 01 20 32 3a 78 3d bc | 02 28 5c 78 29 3a 79 3d |.. 2:x=.|.(\x):y=|
|00000af0| bc 02 28 5c 79 29 3a cb | 01 20 32 2c 21 70 7b 78 |..(\y):.|. 2,!p{x|
|00000b00| 2c 79 2c 30 7d 3a 80 2c | 20 d0 01 20 64 62 00 20 |,y,0}:.,| .. db. |
|00000b10| 20 80 c0 00 20 20 80 07 | 00 00 2e 6d 6f 76 65 74 | ... ..|...movet|
|00000b20| 68 65 6d 3a 00 20 20 80 | ca 20 62 6f 62 28 29 20 |hem:. .|. bob() |
|00000b30| 20 20 20 20 20 20 20 20 | 20 20 3b 73 69 6d 70 6c | | ;simpl|
|00000b40| 65 20 72 6f 75 74 69 6e | 65 20 74 68 61 74 20 6c |e routin|e that l|
|00000b50| 6f 6f 70 73 20 74 68 72 | 6f 75 67 68 00 20 20 c0 |oops thr|ough. .|
|00000b60| 04 20 62 6f 62 28 29 20 | 20 20 20 20 20 20 20 20 |. bob() | |
|00000b70| 3b 61 6c 6c 20 73 68 61 | 70 65 73 20 6d 61 6b 65 |;all sha|pes make|
|00000b80| 69 6e 67 20 2f 69 64 3d | 32 20 73 68 61 70 65 73 |ing /id=|2 shapes|
|00000b90| 00 20 20 80 0c 20 c0 03 | 28 62 6f 62 28 29 29 20 |. .. ..|(bob()) |
|00000ba0| 20 20 3b 66 6c 79 20 72 | 6f 75 6e 64 20 69 6e 20 | ;fly r|ound in |
|00000bb0| 63 69 72 63 6c 65 73 2e | 2e 2e 00 20 20 20 20 80 |circles.|... .|
|00000bc0| 0b 20 5c 69 64 3d 32 00 | 20 20 20 20 20 20 5c 72 |. \id=2.| \r|
|00000bd0| 6f 74 3d bc 06 28 5c 72 | 6f 74 2b 5c 72 6f 74 76 |ot=..(\r|ot+\rotv|
|00000be0| 2c 30 2c 31 36 29 00 20 | 20 20 20 20 20 5c 72 6f |,0,16). | \ro|
|00000bf0| 74 32 3d bc 06 28 5c 72 | 6f 74 32 2b 31 2c 30 2c |t2=..(\r|ot2+1,0,|
|00000c00| 31 36 29 00 20 20 20 20 | 20 20 5c 78 2b 71 73 69 |16). | \x+qsi|
|00000c10| 6e 28 5c 72 6f 74 20 80 | 44 20 34 29 20 80 45 20 |n(\rot .|D 4) .E |
|00000c20| 34 3a 5c 79 2b 71 63 6f | 73 28 5c 72 6f 74 20 80 |4:\y+qco|s(\rot .|
|00000c30| 44 20 34 29 20 80 45 20 | 34 00 20 20 20 20 20 20 |D 4) .E |4. |
|00000c40| 5c 73 78 3d 21 66 7b 5c | 78 2c 5c 79 2c 5c 7a 7d |\sx=!f{\|x,\y,\z}|
|00000c50| 00 20 20 20 20 20 20 5c | 64 65 70 74 68 3d 5c 78 |. \|depth=\x|
|00000c60| 2b 5c 79 00 20 20 20 20 | 80 c0 00 20 20 80 c1 00 |+\y. |... ...|
|00000c70| 00 2e 64 72 61 77 62 6f | 62 73 3a 00 20 20 c0 0e |..drawbo|bs:. ..|
|00000c80| 20 62 6f 62 28 29 2c 30 | 20 20 20 20 20 20 20 20 | bob(),0| |
|00000c90| 3b 73 6f 72 74 20 66 72 | 6f 6d 20 62 61 63 6b 20 |;sort fr|om back |
|00000ca0| 74 6f 20 66 72 6f 6e 74 | 00 20 20 c0 04 20 62 6f |to front|. .. bo|
|00000cb0| 62 28 29 20 20 20 20 20 | 20 20 20 20 3b 6c 6f 6f |b() | ;loo|
|00000cc0| 70 20 74 68 72 6f 75 67 | 68 20 61 6e 64 20 64 72 |p throug|h and dr|
|00000cd0| 61 77 2c 20 69 66 20 74 | 68 65 79 00 20 20 80 ca |aw, if t|hey. ..|
|00000ce0| 20 62 6f 62 28 29 20 20 | 20 20 20 20 20 20 20 20 | bob() | |
|00000cf0| 20 3b 61 72 65 20 5c 69 | 64 3d 32 20 64 72 61 77 | ;are \i|d=2 draw|
|00000d00| 20 70 72 6f 70 65 6c 6c | 6f 72 20 61 73 20 77 65 | propell|or as we|
|00000d10| 6c 6c 00 20 20 80 0c 20 | c0 03 28 62 6f 62 28 29 |ll. .. |..(bob()|
|00000d20| 29 00 20 20 20 20 80 0b | 20 b4 09 28 5c 73 78 2c |). ..| ..(\sx,|
|00000d30| 5c 73 79 2c 31 2c 31 2c | 31 36 2c 34 30 2c 33 32 |\sy,1,1,|16,40,32|
|00000d40| 30 2b 33 31 2c 32 35 36 | 2b 34 30 29 00 20 20 20 |0+31,256|+40). |
|00000d50| 20 20 20 ca 02 20 64 62 | 2c 5c 69 64 2a 31 36 2b | .. db|,\id*16+|
|00000d60| 5c 72 6f 74 2c 5c 73 78 | 2c 5c 73 79 00 20 20 20 |\rot,\sx|,\sy. |
|00000d70| 20 20 20 80 0b 20 5c 69 | 64 3d 32 20 80 21 20 ca | .. \i|d=2 .! .|
|00000d80| 02 20 64 62 2c 5c 69 64 | 2a 31 36 2b 31 36 2b 5c |. db,\id|*16+16+\|
|00000d90| 72 6f 74 32 2c 5c 73 78 | 2c 5c 73 79 00 20 20 20 |rot2,\sx|,\sy. |
|00000da0| 20 80 c0 00 20 20 80 c1 | 00 20 20 80 07 00 00 2e | ... ..|. .....|
|00000db0| 69 6e 69 74 67 61 6d 65 | 3a 00 20 20 c0 07 20 62 |initgame|:. .. b|
|00000dc0| 6f 62 28 29 00 20 20 c0 | 02 20 62 6f 62 28 29 3a |ob(). .|. bob():|
|00000dd0| 2a 6d 65 2e 6f 62 6a 65 | 63 74 3d 62 6f 62 28 29 |*me.obje|ct=bob()|
|00000de0| 00 20 20 2a 6d 65 5c 69 | 64 3d 31 2c 2e 35 2c 2e |. *me\i|d=1,.5,.|
|00000df0| 35 2c 30 00 20 20 80 16 | 20 69 3d 30 20 80 18 20 |5,0. ..| i=0 .. |
|00000e00| 32 00 20 20 20 20 80 0b | 20 c0 02 28 62 6f 62 28 |2. ..| ..(bob(|
|00000e10| 29 29 00 20 20 20 20 20 | 20 62 6f 62 28 29 5c 69 |)). | bob()\i|
|00000e20| 64 3d 32 2c bc 07 28 31 | 39 29 2c bc 07 28 31 39 |d=2,..(1|9),..(19|
|00000e30| 29 3a 5c 72 6f 74 76 3d | 28 bc 07 28 31 29 2d 2e |):\rotv=|(..(1)-.|
|00000e40| 35 29 80 45 20 32 00 20 | 20 20 20 80 c0 00 20 20 |5).E 2. | ... |
|00000e50| 80 17 00 20 20 80 07 00 | 00 2e 73 65 74 75 70 6d |... ...|..setupm|
|00000e60| 61 70 3a 00 20 20 80 16 | 20 78 3d 30 20 80 18 20 |ap:. ..| x=0 .. |
|00000e70| 31 39 3a 80 16 20 79 3d | 30 20 80 18 20 31 39 3a |19:.. y=|0 .. 19:|
|00000e80| 6d 61 70 28 78 2c 79 29 | 3d 31 3a 80 17 3a 80 17 |map(x,y)|=1:..:..|
|00000e90| 00 20 20 80 16 20 78 3d | 39 20 80 18 20 31 31 3a |. .. x=|9 .. 11:|
|00000ea0| 80 16 20 79 3d 39 20 80 | 18 20 31 31 3a 6d 61 70 |.. y=9 .|. 11:map|
|00000eb0| 28 78 2c 79 29 3d 2d 31 | 3a 80 17 3a 80 17 00 20 |(x,y)=-1|:..:... |
|00000ec0| 20 80 07 00 00 2e 64 72 | 61 77 6d 61 70 3a 00 20 | .....dr|awmap:. |
|00000ed0| 20 80 2c 20 d0 01 20 32 | 00 20 20 80 16 20 78 3d | ., .. 2|. .. x=|
|00000ee0| 30 20 80 18 20 31 39 00 | 20 20 20 20 80 16 20 79 |0 .. 19.| .. y|
|00000ef0| 3d 30 20 80 18 20 31 39 | 00 20 20 20 20 20 20 80 |=0 .. 19|. .|
|00000f00| 0b 20 6d 61 70 28 78 2c | 79 29 3e 2d 31 20 80 21 |. map(x,|y)>-1 .!|
|00000f10| 20 cb 01 20 6d 61 70 28 | 78 2c 79 29 2c 21 70 7b | .. map(|x,y),!p{|
|00000f20| 78 2c 79 2c 30 7d 00 20 | 20 20 20 80 17 00 20 20 |x,y,0}. | ... |
|00000f30| 80 17 00 20 20 80 07 00 | 00 |... ...|. |
+--------+-------------------------+-------------------------+--------+--------+