1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-03-27 18:35:06 +00:00

Shooting spiderwebs

This commit is contained in:
David Schmenk 2020-01-05 20:30:02 -08:00
parent 42888ed95a
commit e9a1311764

View File

@ -102,7 +102,7 @@ def game(spdrcnt)#0
var[14] xspdr, yspdr, ixspdr, iyspdr, hatch
var xship, xmissle, attack
byte yship, ymissle
byte spdrnum, k, xdelta, ydelta, btn0, btn1
byte spdrnum, k, xdelta, ydelta, btn0, btn1, webstate
xship = 140
ymissle = 255
@ -112,6 +112,7 @@ def game(spdrcnt)#0
iyspdr[0] = -1
hatch[0] = 1
attack = -1
webstate = 0
spdrnum = spdrcnt - 1
for k = 1 to spdrnum
spriteAdd(k + 8, spriteDup(sprtEgg))
@ -141,11 +142,43 @@ def game(spdrcnt)#0
fin
if attack == k
if yspdr[k] > 160
iyspdr[k] = -8 // Retreat
//
// Iterate through web sequence
//
when webstate
is 10
iyspdr[k] = -8 // Retreat
yspdr[k] = 160
spriteDel(2)
spriteDel(3)
spriteDel(4)
webstate = 0
break
is 0
iyspdr[k] = 0
spriteAdd(2, sprtWeb1)
spritePosIndex(xspdr[k], 160, 2)
webstate = 1
break
is 1
spriteAdd(3, sprtWeb2)
spritePosIndex(xspdr[k], 168, 3)
webstate = 2
break
is 2
spriteAdd(4, sprtWeb3)
spritePosIndex(xspdr[k], 176, 4)
webstate = 3
otherwise
if xship >= xspdr[k] - 10 and xship <= xspdr[k] + 10
return
fin
webstate++
wend
fin
if iyspdr[k] > 0 // Attacking
xspdr[k] = xspdr[k] + (xship - xspdr[k]) / 8
else // Retreating
elsif iyspdr[k] < 0 // Retreating
if ixspdr[k] > 0
xspdr[k] = xspdr[k] + (160 - yspdr[k]) / 8
else
@ -198,7 +231,7 @@ def game(spdrcnt)#0
spritePosIndex(xmissle, ymissle, 1)
for k = 0 to spdrnum
if yspdr[k] <> 255
if ymissle >= yspdr[k] - 7 and ymissle <= yspdr[k] + 6
if ymissle >= yspdr[k] - 15 and ymissle <= yspdr[k] + 5
if xmissle >= xspdr[k] - 10 and xmissle <= xspdr[k] + 10
//
// Hit