diff --git a/src/samplesrc/sfm.pla b/src/samplesrc/sfm.pla index d4d35a6..3f58f66 100644 --- a/src/samplesrc/sfm.pla +++ b/src/samplesrc/sfm.pla @@ -44,6 +44,14 @@ byte = $83,$38,$83,$38,$83,$38 byte = $83,$38,$83,$38,$83,$38 byte = $33,$88,$83,$38,$88,$33 byte = $33,$33,$33,$33,$33,$33 +byte web3 = $88,$83,$38,$88,$88,$88,$88,$83,$38,$88 +byte = $88,$83,$38,$83,$38,$83,$38,$83,$38,$88 +byte = $88,$33,$88,$33,$88,$88,$33,$88,$33,$88 +byte = $88,$33,$33,$33,$33,$33,$33,$33,$33,$88 +byte = $83,$38,$88,$33,$83,$38,$33,$88,$83,$38 +byte = $83,$38,$83,$38,$83,$38,$83,$38,$83,$38 +byte = $33,$88,$83,$38,$83,$38,$83,$38,$88,$33 +byte = $33,$38,$33,$33,$33,$33,$33,$33,$33,$33 byte ship = $CC,$CC,$CC,$77,$CC,$CC,$CC byte = $CC,$CC,$C7,$77,$7C,$CC,$CC byte = $CC,$CC,$C7,$77,$7C,$CC,$CC @@ -74,7 +82,8 @@ byte = $88,$88,$88,$88 byte = $88,$88,$88,$88 byte = $88,$88,$88,$88 byte = $88,$88,$88,$88 -var sprtEgg, sprtSpider, sprtShip, sprtMissle, sprtDummy +var sprtEgg, sprtSpider, sprtWeb1, sprtWeb2, sprtWeb3 +var sprtShip, sprtMissle, sprtDummy def moire#0 var i @@ -104,7 +113,7 @@ def game(spdrcnt)#0 hatch[0] = 1 spdrnum = spdrcnt - 1 for k = 1 to spdrnum - spriteAdd(k + 2, spriteDup(sprtEgg)) + spriteAdd(k + 8, spriteDup(sprtEgg)) xspdr[k] = ((xspdr[k - 1] ^ 37) + 97) & 255 ixspdr[k] = -ixspdr[k - 1] yspdr[k] = ((yspdr[k - 1] ^ 29) + 53) & 63 @@ -122,6 +131,11 @@ def game(spdrcnt)#0 fin if xspdr[k] < -5 or xspdr[k] > 284 ixspdr[k] = -ixspdr[k] + if xspdr[k] < -5 + xspdr[k] = -5 + else + xspdr[k] = 284 + fin fin yspdr[k] = yspdr[k] + iyspdr[k] if yspdr[k] < -5 @@ -129,14 +143,14 @@ def game(spdrcnt)#0 if hatch[k] hatch[k]-- if hatch[k] == 0 - spriteAdd(k + 2, spriteDup(sprtSpider)) + spriteAdd(k + 8, spriteDup(sprtSpider)) fin fin fin if yspdr[k] > 64 iyspdr[k] = -iyspdr[k] fin - spritePosIndex(xspdr[k], yspdr[k], k+2) + spritePosIndex(xspdr[k], yspdr[k], k + 8) fin next xdelta, ydelta, btn0, btn1 = joypos(ymissle/4) @@ -164,8 +178,8 @@ def game(spdrcnt)#0 // yspdr[k] = 255 ymissle = 255 - spriteAdd(k + 2, spriteDup(sprtDummy)) - spritePosIndex(0, 0, k + 2) + spriteAdd(k + 8, spriteDup(sprtDummy)) + spritePosIndex(0, 0, k + 8) spriteDel(1) spdrcnt-- if not spdrcnt @@ -178,7 +192,8 @@ def game(spdrcnt)#0 fin fin spritePosIndex(xship, 190, 0) - spriteDrawList() +// spriteDrawList() + spriteDrawXorList() spriteDrawBuf(hgrSwap()) until ^$C000 > 127 getc @@ -190,14 +205,18 @@ sprtShip = spriteCompile(14, 14, 7, 13, @ship) sprtMissle = spriteCompile( 6, 8, 3, 0, @missle) sprtEgg = spriteCompile(20, 10, 10, 5, @egg) sprtSpider = spriteCompile(20, 13, 10, 6, @spider) +sprtWeb1 = spriteCompile( 8, 8, 4, 0, @web1) +sprtWeb2 = spriteCompile(12, 8, 6, 0, @web2) +sprtWeb3 = spriteCompile(20, 8, 10, 0, @web3) sprtDummy = spriteCompile( 7, 8, 0, 0, @dummy) -hgrColor(4) +//hgrColor(4) +hgrColor(0) hgrClear() -moire +//moire memcpy($4000, $2000, $2000) // Copy to both buffers spriteDrawBuf(hgrDrawBuf(1)) spriteAdd(0, sprtShip) -spriteAdd(2, sprtEgg) -game(4) +spriteAdd(8, sprtEgg) +game(8) txtMode done