| ofs | hex dump | ascii |
|---|
| 0000 | 11 00 00 00 01 3e 02 00 00 20 f8 f8 00 80 cf f0 00 80 80 0d 00 de e0 00 00 8e f9 bb 00 80 40 bc | .....>........................@. |
| 0020 | 00 00 ba bb 00 80 b1 bb 08 f8 33 08 f8 f8 33 88 ee 8f 80 00 80 ff 88 08 0b ef 8e 0f c4 08 8e 08 | ..........3...3................. |
| 0040 | bb 1d 87 00 bb 1d 08 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0200 | 00 00 00 00 00 00 00 00 00 00 a0 8b 00 80 f8 bb 00 88 88 b8 00 80 80 08 00 ed ec 8e e0 0e d0 7d | ...............................} |
| 0220 | e0 de ef 70 00 00 00 00 b8 8b 00 00 bb 80 00 80 8b 0f 00 00 ff f7 00 00 77 0a 00 00 aa 5a 08 00 | ...p....................w....Z.. |
| 0240 | 5a 05 00 00 ff 08 09 7f 00 00 00 00 02 70 04 60 06 50 08 40 0a 30 0c 20 0e 10 0f 00 0f f0 0f e0 | Z............p.`.P.@.0.......... |
| 0260 | 0f d0 0f 00 0f 00 0f 00 0f 00 0f 00 0f 00 0f 00 0f 00 0f 00 0f 00 0f 00 0f 00 0f 00 0f 00 0f 00 | ................................ |
| 0280 | 0f 00 0f 00 0f 00 0a 0b 00 00 00 00 3d 80 3c 90 3d a0 3c b0 3d c0 3c d0 3d e0 3c f0 3d 00 3c f0 | ............=.<.=.<.=.<.=.<.=.<. |
| 02a0 | 3d e0 3c d0 3d c0 3c b0 3d a0 3c 90 3d 80 3c 90 3d a0 3c b0 3d c0 3c d0 3d e0 3c f0 3d 00 3c f0 | =.<.=.<.=.<.=.<.=.<.=.<.=.<.=.<. |
| 02c0 | 3d e0 3c d0 3d c0 3c b0 03 0e 01 00 00 01 05 af 0d 00 2d 2d 20 74 69 74 6c 65 3a 20 20 20 56 72 | =.<.=.<...........--.title:...Vr |
| 02e0 | 69 73 6b 61 20 50 6c 69 6e 6b 6f 0a 2d 2d 20 61 75 74 68 6f 72 3a 20 20 55 6b 6b 6f 0a 2d 2d 20 | iska.Plinko.--.author:..Ukko.--. |
| 0300 | 64 65 73 63 3a 20 20 20 20 56 72 69 73 6b 61 20 50 6c 69 6e 6b 6f 0a 2d 2d 20 73 69 74 65 3a 20 | desc:....Vriska.Plinko.--.site:. |
| 0320 | 20 20 20 6c 69 7a 61 72 64 73 2e 6c 69 76 65 0a 2d 2d 20 6c 69 63 65 6e 73 65 3a 20 43 43 30 2d | ...lizards.live.--.license:.CC0- |
| 0340 | 31 2e 30 0a 2d 2d 20 76 65 72 73 69 6f 6e 3a 20 30 2e 32 0a 2d 2d 20 73 63 72 69 70 74 3a 20 20 | 1.0.--.version:.0.2.--.script:.. |
| 0360 | 6c 75 61 0a 0a 2d 2d 20 43 68 61 6e 67 65 6c 6f 67 0a 2d 2d 20 0a 2d 2d 20 30 2e 32 0a 2d 2d 20 | lua..--.Changelog.--..--.0.2.--. |
| 0380 | 09 41 64 64 65 64 20 73 6f 75 6e 64 73 0a 2d 2d 20 09 56 72 69 73 6b 61 20 6c 6f 6f 6b 73 20 69 | .Added.sounds.--..Vriska.looks.i |
| 03a0 | 6e 20 74 68 65 20 64 69 72 65 63 74 69 6f 6e 20 0a 2d 2d 20 09 69 74 27 73 20 67 6f 69 6e 67 20 | n.the.direction..--..it's.going. |
| 03c0 | 28 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 29 0a 0a 6c 6f 63 61 6c 20 77 20 3d 20 32 34 30 0a 6c 6f | (horizontally)..local.w.=.240.lo |
| 03e0 | 63 61 6c 20 68 20 3d 20 31 33 36 0a 0a 6c 6f 63 61 6c 20 46 49 52 45 5f 53 54 52 45 4e 47 54 48 | cal.h.=.136..local.FIRE_STRENGTH |
| 0400 | 20 3d 20 30 2e 35 35 0a 0a 6c 6f 63 61 6c 20 57 48 49 54 45 20 3d 20 31 32 0a 6c 6f 63 61 6c 20 | .=.0.55..local.WHITE.=.12.local. |
| 0420 | 59 45 4c 4c 4f 57 20 3d 20 34 0a 6c 6f 63 61 6c 20 4f 52 41 4e 47 45 20 3d 20 33 0a 6c 6f 63 61 | YELLOW.=.4.local.ORANGE.=.3.loca |
| 0440 | 6c 20 52 45 44 20 3d 20 32 0a 6c 6f 63 61 6c 20 50 55 52 50 4c 45 20 3d 20 31 0a 6c 6f 63 61 6c | l.RED.=.2.local.PURPLE.=.1.local |
| 0460 | 20 42 4c 41 43 4b 20 3d 20 30 0a 0a 6c 6f 63 61 6c 20 72 61 6e 64 6f 6d 20 3d 20 6d 61 74 68 2e | .BLACK.=.0..local.random.=.math. |
| 0480 | 72 61 6e 64 6f 6d 0a 0a 6c 6f 63 61 6c 20 66 75 6e 63 74 69 6f 6e 20 72 6f 75 6e 64 28 78 29 20 | random..local.function.round(x). |
| 04a0 | 0a 09 72 65 74 75 72 6e 20 6d 61 74 68 2e 66 6c 6f 6f 72 28 78 20 2b 20 30 2e 35 29 0a 65 6e 64 | ..return.math.floor(x.+.0.5).end |
| 04c0 | 0a 0a 6c 6f 63 61 6c 20 66 69 72 65 54 6f 70 20 3d 20 68 2d 31 0a 0a 6c 6f 63 61 6c 20 66 75 6e | ..local.fireTop.=.h-1..local.fun |
| 04e0 | 63 74 69 6f 6e 20 64 6f 46 69 72 65 28 29 0a 09 6c 69 6e 65 28 30 2c 20 68 2d 31 2c 20 77 2d 31 | ction.doFire()..line(0,.h-1,.w-1 |
| 0500 | 2c 20 68 2d 31 2c 20 57 48 49 54 45 29 0a 09 6c 6f 63 61 6c 20 73 74 61 72 74 20 3d 20 66 69 72 | ,.h-1,.WHITE)..local.start.=.fir |
| 0520 | 65 54 6f 70 2d 31 0a 09 66 69 72 65 54 6f 70 20 3d 20 68 2d 31 0a 09 66 6f 72 20 79 3d 73 74 61 | eTop-1..fireTop.=.h-1..for.y=sta |
| 0540 | 72 74 2c 20 68 2d 32 20 64 6f 0a 09 09 66 6f 72 20 78 3d 30 2c 20 77 2d 31 20 64 6f 0a 09 09 09 | rt,.h-2.do...for.x=0,.w-1.do.... |
| 0560 | 6c 6f 63 61 6c 20 62 78 20 3d 20 78 20 2b 20 72 61 6e 64 6f 6d 28 2d 31 2c 20 31 29 0a 09 09 09 | local.bx.=.x.+.random(-1,.1).... |
| 0580 | 69 66 20 62 78 20 3c 20 30 20 74 68 65 6e 20 0a 09 09 09 09 62 78 20 3d 20 62 78 20 2b 20 77 0a | if.bx.<.0.then......bx.=.bx.+.w. |
| 05a0 | 09 09 09 65 6c 73 65 69 66 20 78 20 3e 3d 20 77 20 74 68 65 6e 0a 09 09 09 09 62 78 20 3d 20 62 | ...elseif.x.>=.w.then.....bx.=.b |
| 05c0 | 78 20 2d 20 77 0a 09 09 09 65 6e 64 0a 09 09 09 6c 6f 63 61 6c 20 62 65 6c 6f 77 20 3d 20 70 69 | x.-.w....end....local.below.=.pi |
| 05e0 | 78 28 62 78 2c 20 79 2b 31 29 0a 09 09 09 6c 6f 63 61 6c 20 6e 65 77 43 6f 6c 20 3d 20 42 4c 41 | x(bx,.y+1)....local.newCol.=.BLA |
| 0600 | 43 4b 0a 09 09 09 69 66 20 72 61 6e 64 6f 6d 28 29 20 3c 20 46 49 52 45 5f 53 54 52 45 4e 47 54 | CK....if.random().<.FIRE_STRENGT |
| 0620 | 48 20 74 68 65 6e 0a 09 09 09 09 6e 65 77 43 6f 6c 20 3d 20 62 65 6c 6f 77 0a 09 09 09 65 6c 73 | H.then.....newCol.=.below....els |
| 0640 | 65 69 66 20 62 65 6c 6f 77 20 3d 3d 20 57 48 49 54 45 20 74 68 65 6e 0a 09 09 09 09 6e 65 77 43 | eif.below.==.WHITE.then.....newC |
| 0660 | 6f 6c 20 3d 20 59 45 4c 4c 4f 57 0a 09 09 09 65 6c 73 65 69 66 20 62 65 6c 6f 77 20 3d 3d 20 59 | ol.=.YELLOW....elseif.below.==.Y |
| 0680 | 45 4c 4c 4f 57 20 74 68 65 6e 0a 09 09 09 09 6e 65 77 43 6f 6c 20 3d 20 4f 52 41 4e 47 45 0a 09 | ELLOW.then.....newCol.=.ORANGE.. |
| 06a0 | 09 09 65 6c 73 65 69 66 20 62 65 6c 6f 77 20 3d 3d 20 4f 52 41 4e 47 45 20 74 68 65 6e 0a 09 09 | ..elseif.below.==.ORANGE.then... |
| 06c0 | 09 09 6e 65 77 43 6f 6c 20 3d 20 52 45 44 20 0a 09 09 09 65 6c 73 65 69 66 20 62 65 6c 6f 77 20 | ..newCol.=.RED.....elseif.below. |
| 06e0 | 3d 3d 20 52 45 44 20 74 68 65 6e 0a 09 09 09 09 6e 65 77 43 6f 6c 20 3d 20 50 55 52 50 4c 45 20 | ==.RED.then.....newCol.=.PURPLE. |
| 0700 | 0a 09 09 09 65 6e 64 0a 09 09 09 69 66 20 6e 65 77 43 6f 6c 20 7e 3d 20 42 4c 41 43 4b 20 61 6e | ....end....if.newCol.~=.BLACK.an |
| 0720 | 64 20 79 20 3c 20 66 69 72 65 54 6f 70 20 74 68 65 6e 0a 09 09 09 09 66 69 72 65 54 6f 70 20 3d | d.y.<.fireTop.then.....fireTop.= |
| 0740 | 20 79 0a 09 09 09 65 6e 64 0a 09 09 09 70 69 78 28 78 2c 20 79 2c 20 6e 65 77 43 6f 6c 29 0a 09 | .y....end....pix(x,.y,.newCol).. |
| 0760 | 09 65 6e 64 0a 09 65 6e 64 0a 65 6e 64 0a 0a 6c 6f 63 61 6c 20 74 20 3d 20 30 0a 6c 6f 63 61 6c | .end..end.end..local.t.=.0.local |
| 0780 | 20 78 20 3d 20 77 20 2f 20 32 0a 6c 6f 63 61 6c 20 79 20 3d 20 30 0a 6c 6f 63 61 6c 20 76 78 20 | .x.=.w./.2.local.y.=.0.local.vx. |
| 07a0 | 3d 20 30 0a 6c 6f 63 61 6c 20 76 79 20 3d 20 30 0a 6c 6f 63 61 6c 20 67 20 3d 20 30 2e 30 35 0a | =.0.local.vy.=.0.local.g.=.0.05. |
| 07c0 | 0a 6c 6f 63 61 6c 20 66 75 6e 63 74 69 6f 6e 20 62 6f 75 6e 63 65 28 69 6e 74 65 6e 73 69 74 79 | .local.function.bounce(intensity |
| 07e0 | 29 0a 09 6c 6f 63 61 6c 20 6e 6f 74 65 20 3d 20 72 61 6e 64 6f 6d 28 33 2a 31 32 2c 20 34 2a 31 | )..local.note.=.random(3*12,.4*1 |
| 0800 | 32 29 0a 09 6c 6f 63 61 6c 20 76 6f 6c 75 6d 65 20 3d 20 31 20 2d 20 31 20 2f 20 28 69 6e 74 65 | 2)..local.volume.=.1.-.1./.(inte |
| 0820 | 6e 73 69 74 79 20 2b 20 31 29 0a 09 73 66 78 28 30 2c 20 6e 6f 74 65 2c 20 2d 31 2c 20 30 2c 20 | nsity.+.1)..sfx(0,.note,.-1,.0,. |
| 0840 | 76 6f 6c 75 6d 65 20 2a 20 31 35 29 0a 65 6e 64 0a 0a 6c 6f 63 61 6c 20 66 75 6e 63 74 69 6f 6e | volume.*.15).end..local.function |
| 0860 | 20 64 72 61 77 56 72 69 73 6b 61 28 29 0a 09 6c 6f 63 61 6c 20 66 6c 69 70 20 3d 20 30 0a 09 69 | .drawVriska()..local.flip.=.0..i |
| 0880 | 66 20 76 78 20 3e 20 30 20 74 68 65 6e 20 0a 09 09 66 6c 69 70 20 3d 20 31 0a 09 65 6e 64 0a 09 | f.vx.>.0.then....flip.=.1..end.. |
| 08a0 | 73 70 72 28 30 2c 20 78 2d 38 2c 20 79 2d 38 2c 20 30 2c 20 31 2c 20 66 6c 69 70 2c 20 30 2c 20 | spr(0,.x-8,.y-8,.0,.1,.flip,.0,. |
| 08c0 | 32 2c 20 32 29 0a 65 6e 64 0a 0a 6c 6f 63 61 6c 20 66 75 6e 63 74 69 6f 6e 20 72 6f 77 4f 66 66 | 2,.2).end..local.function.rowOff |
| 08e0 | 73 65 74 28 72 6f 77 59 29 0a 09 72 65 74 75 72 6e 20 28 72 6f 77 59 25 36 34 29 20 2f 20 32 0a | set(rowY)..return.(rowY%64)./.2. |
| 0900 | 65 6e 64 0a 0a 6c 6f 63 61 6c 20 66 75 6e 63 74 69 6f 6e 20 64 72 61 77 50 69 6e 73 28 63 6f 6c | end..local.function.drawPins(col |
| 0920 | 6f 72 29 0a 09 6c 6f 63 61 6c 20 63 6f 6c 6f 72 20 3d 20 63 6f 6c 6f 72 20 6f 72 20 57 48 49 54 | or)..local.color.=.color.or.WHIT |
| 0940 | 45 0a 09 66 6f 72 20 79 3d 33 32 2c 20 68 2c 20 33 32 20 64 6f 0a 09 09 66 6f 72 20 78 3d 72 6f | E..for.y=32,.h,.32.do...for.x=ro |
| 0960 | 77 4f 66 66 73 65 74 28 79 29 2c 20 77 2c 20 33 32 20 64 6f 0a 09 09 09 70 69 78 28 78 2c 20 79 | wOffset(y),.w,.32.do....pix(x,.y |
| 0980 | 2c 20 63 6f 6c 6f 72 29 0a 09 09 65 6e 64 0a 09 65 6e 64 0a 65 6e 64 0a 0a 6c 6f 63 61 6c 20 66 | ,.color)...end..end.end..local.f |
| 09a0 | 75 6e 63 74 69 6f 6e 20 72 65 73 70 61 77 6e 28 29 0a 09 78 20 3d 20 72 61 6e 64 6f 6d 28 31 36 | unction.respawn()..x.=.random(16 |
| 09c0 | 2c 20 77 2d 31 36 29 0a 09 76 78 20 3d 20 72 61 6e 64 6f 6d 28 29 20 2a 20 32 20 2d 20 31 0a 09 | ,.w-16)..vx.=.random().*.2.-.1.. |
| 09e0 | 79 20 3d 20 30 0a 09 76 79 20 3d 20 30 0a 65 6e 64 0a 0a 6c 6f 63 61 6c 20 66 75 6e 63 74 69 6f | y.=.0..vy.=.0.end..local.functio |
| 0a00 | 6e 20 70 68 79 73 69 63 73 28 29 0a 09 78 20 3d 20 78 20 2b 20 76 78 0a 09 79 20 3d 20 79 20 2b | n.physics()..x.=.x.+.vx..y.=.y.+ |
| 0a20 | 20 76 79 20 2b 20 67 20 2f 20 32 0a 09 76 79 20 3d 20 76 79 20 2b 20 67 0a 09 0a 09 2d 2d 20 57 | .vy.+.g./.2..vy.=.vy.+.g....--.W |
| 0a40 | 61 6c 6c 20 63 6f 6c 6c 69 73 69 6f 6e 0a 09 69 66 20 78 20 3c 20 38 20 74 68 65 6e 0a 09 09 78 | all.collision..if.x.<.8.then...x |
| 0a60 | 20 3d 20 31 36 2d 78 20 0a 09 09 69 66 20 76 78 20 3c 20 30 20 74 68 65 6e 0a 09 09 09 76 78 20 | .=.16-x....if.vx.<.0.then....vx. |
| 0a80 | 3d 20 2d 76 78 0a 09 09 09 62 6f 75 6e 63 65 28 76 78 20 2a 20 32 29 0a 09 09 65 6e 64 0a 09 65 | =.-vx....bounce(vx.*.2)...end..e |
| 0aa0 | 6c 73 65 69 66 20 78 20 3e 20 77 20 2d 20 38 20 74 68 65 6e 0a 09 09 78 20 3d 20 32 20 2a 20 77 | lseif.x.>.w.-.8.then...x.=.2.*.w |
| 0ac0 | 20 2d 20 31 36 20 2d 20 78 0a 09 09 69 66 20 76 78 20 3e 20 30 20 74 68 65 6e 0a 09 09 09 62 6f | .-.16.-.x...if.vx.>.0.then....bo |
| 0ae0 | 75 6e 63 65 28 76 78 20 2a 20 32 29 20 0a 09 09 09 76 78 20 3d 20 2d 76 78 0a 09 09 65 6e 64 0a | unce(vx.*.2).....vx.=.-vx...end. |
| 0b00 | 09 65 6e 64 0a 09 0a 09 2d 2d 20 50 69 6e 20 63 6f 6c 6c 69 73 69 6f 6e 0a 09 6c 6f 63 61 6c 20 | .end....--.Pin.collision..local. |
| 0b20 | 72 6f 77 59 20 3d 20 72 6f 75 6e 64 28 79 20 2f 20 33 32 29 20 2a 20 33 32 0a 09 69 66 20 72 6f | rowY.=.round(y./.32).*.32..if.ro |
| 0b40 | 77 59 20 3c 3d 20 30 0a 09 20 20 20 6f 72 20 6d 61 74 68 2e 61 62 73 28 79 20 2d 20 72 6f 77 59 | wY.<=.0.....or.math.abs(y.-.rowY |
| 0b60 | 29 20 3e 20 38 20 74 68 65 6e 0a 09 09 2d 2d 20 4e 6f 74 20 6e 65 61 72 20 65 6e 6f 75 67 68 20 | ).>.8.then...--.Not.near.enough. |
| 0b80 | 61 20 70 69 6e 20 74 6f 20 62 6f 75 6e 63 65 0a 09 09 72 65 74 75 72 6e 0a 09 65 6e 64 0a 09 0a | a.pin.to.bounce...return..end... |
| 0ba0 | 09 6c 6f 63 61 6c 20 78 41 64 6a 20 3d 20 78 20 2d 20 72 6f 77 4f 66 66 73 65 74 28 72 6f 77 59 | .local.xAdj.=.x.-.rowOffset(rowY |
| 0bc0 | 29 0a 09 6c 6f 63 61 6c 20 70 69 6e 58 41 64 6a 20 3d 20 72 6f 75 6e 64 28 78 41 64 6a 2f 33 32 | )..local.pinXAdj.=.round(xAdj/32 |
| 0be0 | 29 20 2a 20 33 32 0a 09 6c 6f 63 61 6c 20 70 69 6e 58 20 3d 20 70 69 6e 58 41 64 6a 2b 72 6f 77 | ).*.32..local.pinX.=.pinXAdj+row |
| 0c00 | 4f 66 66 73 65 74 28 72 6f 77 59 29 0a 09 69 66 20 6d 61 74 68 2e 61 62 73 28 78 20 2d 20 70 69 | Offset(rowY)..if.math.abs(x.-.pi |
| 0c20 | 6e 58 29 20 3e 20 38 20 74 68 65 6e 0a 09 09 72 65 74 75 72 6e 0a 09 65 6e 64 0a 09 0a 09 2d 2d | nX).>.8.then...return..end....-- |
| 0c40 | 20 4e 6f 77 20 69 74 27 73 20 74 69 6d 65 20 66 6f 72 20 74 72 69 67 6f 6e 6f 6d 65 74 72 79 0a | .Now.it's.time.for.trigonometry. |
| 0c60 | 09 2d 2d 20 4e 6f 72 6d 61 6c 69 7a 65 20 74 68 65 20 76 65 6c 6f 63 69 74 79 20 76 65 63 74 6f | .--.Normalize.the.velocity.vecto |
| 0c80 | 72 0a 09 6c 6f 63 61 6c 20 76 61 62 73 20 3d 20 6d 61 74 68 2e 73 71 72 74 28 76 78 2a 76 78 2b | r..local.vabs.=.math.sqrt(vx*vx+ |
| 0ca0 | 76 79 2a 76 79 29 0a 09 6c 6f 63 61 6c 20 6e 76 78 20 3d 20 76 78 2f 76 61 62 73 0a 09 6c 6f 63 | vy*vy)..local.nvx.=.vx/vabs..loc |
| 0cc0 | 61 6c 20 6e 76 79 20 3d 20 76 79 2f 76 61 62 73 0a 09 0a 09 2d 2d 20 4e 6f 72 6d 61 6c 69 7a 65 | al.nvy.=.vy/vabs....--.Normalize |
| 0ce0 | 64 20 76 65 63 74 6f 72 20 74 6f 77 61 72 64 73 20 74 68 65 20 70 69 6e 0a 09 6c 6f 63 61 6c 20 | d.vector.towards.the.pin..local. |
| 0d00 | 64 78 20 3d 20 70 69 6e 58 2d 78 0a 09 6c 6f 63 61 6c 20 64 79 20 3d 20 72 6f 77 59 2d 79 0a 09 | dx.=.pinX-x..local.dy.=.rowY-y.. |
| 0d20 | 6c 6f 63 61 6c 20 64 61 62 73 20 3d 20 6d 61 74 68 2e 73 71 72 74 28 64 78 2a 64 78 2b 64 79 2a | local.dabs.=.math.sqrt(dx*dx+dy* |
| 0d40 | 64 79 29 0a 09 64 78 20 3d 20 64 78 2f 64 61 62 73 0a 09 64 79 20 3d 20 64 79 2f 64 61 62 73 0a | dy)..dx.=.dx/dabs..dy.=.dy/dabs. |
| 0d60 | 09 0a 09 2d 2d 20 44 6f 74 20 70 72 6f 64 75 63 74 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 0a | ...--.Dot.product.to.determine.. |
| 0d80 | 09 2d 2d 20 74 68 65 20 63 6f 73 69 6e 65 20 6f 66 20 74 68 65 20 61 6e 67 6c 65 0a 09 6c 6f 63 | .--.the.cosine.of.the.angle..loc |
| 0da0 | 61 6c 20 64 6f 74 20 3d 20 6e 76 78 2a 64 78 20 2b 20 6e 76 79 2a 64 79 0a 09 69 66 20 64 6f 74 | al.dot.=.nvx*dx.+.nvy*dy..if.dot |
| 0dc0 | 20 3c 3d 20 30 20 74 68 65 6e 0a 09 09 2d 2d 20 63 6f 73 69 6e 65 20 69 73 20 6e 65 67 61 74 69 | .<=.0.then...--.cosine.is.negati |
| 0de0 | 76 65 0a 09 09 2d 2d 20 61 6e 67 6c 65 20 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 39 30 64 | ve...--.angle.is.larger.than.90d |
| 0e00 | 65 67 0a 09 09 2d 2d 20 61 6b 61 20 76 65 63 74 6f 72 73 20 61 72 65 20 70 6f 69 6e 74 69 6e 67 | eg...--.aka.vectors.are.pointing |
| 0e20 | 20 61 77 61 79 0a 09 09 2d 2d 20 6e 6f 20 62 6f 75 6e 63 65 20 68 61 70 70 65 6e 69 6e 67 20 68 | .away...--.no.bounce.happening.h |
| 0e40 | 65 72 65 0a 09 09 72 65 74 75 72 6e 0a 09 65 6e 64 0a 09 0a 09 6e 76 78 20 3d 20 6e 76 78 20 2d | ere...return..end....nvx.=.nvx.- |
| 0e60 | 20 32 20 2a 20 64 78 20 2a 20 64 6f 74 0a 09 6e 76 79 20 3d 20 6e 76 79 20 2d 20 32 20 2a 20 64 | .2.*.dx.*.dot..nvy.=.nvy.-.2.*.d |
| 0e80 | 79 20 2a 20 64 6f 74 0a 09 6c 6f 63 61 6c 20 6f 6c 64 56 78 20 3d 20 76 78 0a 09 6c 6f 63 61 6c | y.*.dot..local.oldVx.=.vx..local |
| 0ea0 | 20 6f 6c 64 56 79 20 3d 20 76 79 0a 09 76 78 20 3d 20 6e 76 78 20 2a 20 76 61 62 73 0a 09 76 79 | .oldVy.=.vy..vx.=.nvx.*.vabs..vy |
| 0ec0 | 20 3d 20 6e 76 79 20 2a 20 76 61 62 73 0a 09 6c 6f 63 61 6c 20 64 69 66 66 58 20 3d 20 6e 76 78 | .=.nvy.*.vabs..local.diffX.=.nvx |
| 0ee0 | 20 2d 20 6f 6c 64 56 78 0a 09 6c 6f 63 61 6c 20 64 69 66 66 59 20 3d 20 6e 76 79 20 2d 20 6f 6c | .-.oldVx..local.diffY.=.nvy.-.ol |
| 0f00 | 64 56 79 0a 09 6c 6f 63 61 6c 20 64 69 66 66 20 3d 20 6d 61 74 68 2e 73 71 72 74 28 64 69 66 66 | dVy..local.diff.=.math.sqrt(diff |
| 0f20 | 58 2a 64 69 66 66 58 2b 64 69 66 66 59 2a 64 69 66 66 59 29 0a 09 62 6f 75 6e 63 65 28 64 69 66 | X*diffX+diffY*diffY)..bounce(dif |
| 0f40 | 66 29 0a 65 6e 64 0a 0a 66 75 6e 63 74 69 6f 6e 20 42 4f 4f 54 28 29 0a 09 63 6c 73 28 42 4c 41 | f).end..function.BOOT()..cls(BLA |
| 0f60 | 43 4b 29 0a 09 72 65 73 70 61 77 6e 28 29 0a 65 6e 64 0a 0a 66 75 6e 63 74 69 6f 6e 20 54 49 43 | CK)..respawn().end..function.TIC |
| 0f80 | 28 29 0a 09 74 20 3d 20 74 20 2b 20 31 0a 09 72 65 63 74 28 30 2c 20 30 2c 20 77 2c 20 66 69 72 | ()..t.=.t.+.1..rect(0,.0,.w,.fir |
| 0fa0 | 65 54 6f 70 2d 32 2c 20 42 4c 41 43 4b 29 0a 09 69 66 20 74 20 25 20 33 20 3d 3d 20 30 20 74 68 | eTop-2,.BLACK)..if.t.%.3.==.0.th |
| 0fc0 | 65 6e 20 0a 09 09 64 72 61 77 50 69 6e 73 28 42 4c 41 43 4b 29 0a 09 09 64 6f 46 69 72 65 28 29 | en....drawPins(BLACK)...doFire() |
| 0fe0 | 0a 09 65 6e 64 0a 09 64 72 61 77 56 72 69 73 6b 61 28 29 0a 09 64 72 61 77 50 69 6e 73 28 29 0a | ..end..drawVriska()..drawPins(). |
| 1000 | 09 70 68 79 73 69 63 73 28 29 0a 09 69 66 20 79 20 2b 20 38 20 3e 3d 20 66 69 72 65 54 6f 70 20 | .physics()..if.y.+.8.>=.fireTop. |
| 1020 | 74 68 65 6e 0a 09 09 73 66 78 28 31 2c 20 34 38 2c 20 36 2c 20 31 2c 20 31 35 29 0a 09 65 6c 73 | then...sfx(1,.48,.6,.1,.15)..els |
| 1040 | 65 0a 09 09 73 66 78 28 31 2c 20 33 36 2c 20 36 2c 20 31 2c 20 37 29 0a 09 65 6e 64 0a 09 69 66 | e...sfx(1,.36,.6,.1,.7)..end..if |
| 1060 | 20 79 20 3e 3d 20 68 20 74 68 65 6e 0a 09 09 72 65 73 70 61 77 6e 28 29 0a 09 65 6e 64 0a 65 6e | .y.>=.h.then...respawn()..end.en |
| 1080 | 64 | d |