diff options
| -rw-r--r-- | background.lua | 24 | ||||
| -rw-r--r-- | bullets.lua | 2 | ||||
| -rw-r--r-- | draw.lua | 2 | ||||
| -rw-r--r-- | enemies.lua | 8 | ||||
| -rw-r--r-- | objects.lua | 1 | ||||
| -rw-r--r-- | particles.lua | 2 | ||||
| -rw-r--r-- | pickups.lua | 2 | ||||
| -rw-r--r-- | players.lua | 6 | ||||
| -rw-r--r-- | ui.lua | 39 | ||||
| -rw-r--r-- | update.lua | 12 | ||||
| -rw-r--r-- | waves.lua | 12 |
11 files changed, 57 insertions, 53 deletions
diff --git a/background.lua b/background.lua index 4807d36..d99ee3b 100644 --- a/background.lua +++ b/background.lua @@ -90,16 +90,20 @@ function drawbg() end --pine trees - scrollingsprite(231,10,94,1,2,72,true) - scrollingsprite(231,30,94,1,2,72) - scrollingsprite(231,20,93,1,2,72,true) - scrollingsprite(231,50,95,1,2,72,true) - scrollingsprite(231,62,93,1,2,72,true) - scrollingsprite(231,70,94,1,2,72) - scrollingsprite(231,80,95,1,2,72) - scrollingsprite(231,95,94,1,2,72) - scrollingsprite(231,100,93,1,2,72) - scrollingsprite(231,120,95,1,2,72,true) + local treex = {10,30,20,50,62,70,80,95,100,120} + for i = 1, 10, 1 do + scrollingsprite(231,treex[i],94+sin(i/5.2323),1,2,72,(i%2==0)) + end + -- scrollingsprite(231,10,94,1,2,72,true) + -- scrollingsprite(231,30,94,1,2,72) + -- scrollingsprite(231,20,93,1,2,72,true) + -- scrollingsprite(231,50,95,1,2,72,true) + -- scrollingsprite(231,62,93,1,2,72,true) + -- scrollingsprite(231,70,94,1,2,72) + -- scrollingsprite(231,80,95,1,2,72) + -- scrollingsprite(231,95,94,1,2,72) + -- scrollingsprite(231,100,93,1,2,72) + -- scrollingsprite(231,120,95,1,2,72,true) --small buildings scrollingsprite(226,15,98,2,2,80) scrollingsprite(226,65,97,2,2,80) diff --git a/bullets.lua b/bullets.lua index 1b217e7..5d22e47 100644 --- a/bullets.lua +++ b/bullets.lua @@ -85,7 +85,7 @@ function addlaser(x, y, r) end function laser.update(laser) - timer += 1/60 + timer += ft --collision detection after the warm up if timer > 1.5 and timer < 3.6 then if not playingsound then @@ -32,7 +32,7 @@ if not gamerunning or menuscroll < 1 then menuscroll += scrollspeed - if not gamerunning then menushipscroll += 1/60 end + if not gamerunning then menushipscroll += ft end for i = 1, 3, 1 do spr(14+i*16, (-menushipscroll*(i*20)+(sin(i/3)*128)+8)%(128+8)-1*8-menuscroll*240, i*36+sin(menushipscroll*i/3)*i*2-20-menuscroll*50,1,1) diff --git a/enemies.lua b/enemies.lua index d905152..9f74efc 100644 --- a/enemies.lua +++ b/enemies.lua @@ -40,8 +40,8 @@ function enemydie(enemy, sound, soundchannel) end function enemymisc(enemy) --misc stuff every enemy needs - enemy.shootcooldown -= 1/60 - enemy.inv -= 1/60 + enemy.shootcooldown -= ft + enemy.inv -= ft for i = 1, #players, 1 do enemy.collide(enemy, players[i]) end @@ -319,7 +319,7 @@ function addlasershooter(x, y, speed, stay) end end enemy.firedlaser = true - enemy.lasertimer += 1/60 + enemy.lasertimer += ft if enemy.lasertimer > 8 and stay then enemy.firedlaser = false enemy.lasertimer = 0 @@ -537,7 +537,7 @@ function addmissileboss(x, y) --boss that shoots missiles!!! function enemy.update(enemy) local playertarget = ceil((t()/2.4)%#players) - enemy.targetchangetimer -= 1/60 + enemy.targetchangetimer -= ft --some cool different moves, shout out to dont get a virus fans! if currentwavetime%18 > 8 and currentwavetime%20 < 12 then enemy.targety = flr(everysecondtimer*1.99)*96 diff --git a/objects.lua b/objects.lua index e2bcfd4..621f43b 100644 --- a/objects.lua +++ b/objects.lua @@ -1,5 +1,6 @@ obj = {} gt = 0 -- game time +ft = 1/60 --frametime scrollspeed = 0 respawntimer = 0 gameover = false diff --git a/particles.lua b/particles.lua index 9f6d558..eec45d9 100644 --- a/particles.lua +++ b/particles.lua @@ -20,7 +20,7 @@ function addcircle(x, y, velx, vely, r, time, color, grav) circle.x += circle.velx circle.vely -= circle.grav circle.y += circle.vely - circle.time -= 1/60 + circle.time -= ft if circle.time < 0 then del(obj, circle) end diff --git a/pickups.lua b/pickups.lua index 0b259cd..0ad9210 100644 --- a/pickups.lua +++ b/pickups.lua @@ -1,7 +1,7 @@ local randompickups = {} pickuptimer = 10 function randompickups.update() - pickuptimer -= 1/60 + pickuptimer -= ft if pickuptimer < 0 then pickuptimer = 10 if rnd(100) > 85 then diff --git a/players.lua b/players.lua index 9f05676..4f7eee3 100644 --- a/players.lua +++ b/players.lua @@ -95,7 +95,7 @@ function addplayer(x, y, sprite, bulletsprite) player.y = mid(0, player.y, 120) --particles from rockets, and smoke/sparks from damage - player.particlecooldown -= 1/60 + player.particlecooldown -= ft if player.particlecooldown < 0 and player.health > 0 then addcircle(player.x-1, player.y, -0.5, 0, 1.5, 0.5, 9) addcircle(player.x-1, player.y+7, -0.5, 0, 1.5, 0.5, 9) @@ -109,8 +109,8 @@ function addplayer(x, y, sprite, bulletsprite) end --shooting after cooldown - player.shootcooldown -= 1/60 - player.inv -= 1/60 + player.shootcooldown -= ft + player.inv -= ft if (btn(4, player.id) or alwaysfire) and player.shootcooldown < 0 and player.health > 0 then --for i = 1, 4, 1 do --addcircle(player.x+3, player.y+4, rnd(1)+0.5, rnd(1)-0.5, 1.5, rnd(0.4), 12) @@ -12,19 +12,23 @@ function invaderslogotext(x,y) -- y = 20 --font - local text = "i n v a d e r s" - print(text, x, y-1, 3) - print(text, x+1, y, 3) - print(text, x-1, y, 3) - print(text, x-1, y+1, 3) - print(text, x+1, y+1, 3) - print(text, x-1, y-1, 3) - print(text, x+1, y-1, 3) - print(text, x+1, y+1, 3) - print(text, x-1, y+2, 3) - print(text, x+1, y+2, 3) - print(text, x, y+2, 3) - printdropshadow(text,x,y,14,3) + local text = "I N V A D E R S" + for i = 1, 12, 1 do + print(text, x+i%3-1, y+i%4-1, 3) + end + -- color(3) + -- print(text, x, y-1) --ew + -- print(text, x+1, y) + -- print(text, x-1, y) + -- print(text, x-1, y+1) + -- print(text, x+1, y+1) + -- print(text, x-1, y-1) + -- print(text, x+1, y-1) + -- print(text, x+1, y+1) + -- print(text, x-1, y+2) + -- print(text, x+1, y+2) + -- print(text, x, y+2) + print(text,x,y,14) clip(x, y, 63, 3) print(text,x,y,11) clip() @@ -48,7 +52,7 @@ function drawlogo(x,y) sspr(40,24,8,8,x+26,y+7,16,16,true) sspr(40,24,8,8,x+42,y+7,16,16) --invaders - invaderslogotext(x+12,y+20) + invaderslogotext(x+11,y+20) end function mainmenutext(x,y) @@ -103,12 +107,11 @@ function credits(x,y) palt(0,false) spr(48,x-4,y+6+sin(t())*2,1,1,(t()%2<1)) --duck spr(49,x+104,y+6+cos(t())*2,1,1,(t()%2<1)) --bot - palt(2,false) - palt(0,true) + palt() printdropshadow("1029chris",x+10,y+5,9,2) printdropshadow("ribboncable",x+56,y+5,12,15) - printdropshadow("code tunes",x+8,y+12,11,3) - printdropshadow("art sounds",x+58,y+12,11,3) + printdropshadow("CODE TUNES",x+8,y+12,11,3) + printdropshadow("ART SOUNDS",x+58,y+12,11,3) -- print("made in vancouver - 2022", x+6,y+22,0) -- print("made in vancouver - 2022", x+6,y+21,4) @@ -1,7 +1,7 @@ --scrolling and respawn stuff -respawntimer -= 1/60 +respawntimer -= ft if gameover then - scrollspeed = mid(-1/10,scrollspeed-1/3000,1/60) + scrollspeed = mid(-1/10,scrollspeed-1/3000,ft) if respawntimer < 0 then gameover = false foreach(players, function(obj) obj:respawn() end) @@ -10,7 +10,7 @@ if gameover then end elseif gamerunning then updatewaves() -- update the wave function - scrollspeed = mid(0,scrollspeed+1/2000,1/60) + scrollspeed = mid(0,scrollspeed+1/2000,ft) end gt += scrollspeed + 1/600 @@ -31,11 +31,7 @@ end --screenshake math shake = shake + 0.11 * (0 - shake); -if shake < 1 then - shake = 0 -end - -if not doshake then +if shake < 1 or not doshake then shake = 0 end --add another player if they fire @@ -185,7 +185,7 @@ wave[13] = { addbasicenemy(130, 63, 0.7) addlasershooter(128, -2, 0.1, false) addbomb(128,46, 0) - addlasershooter(128, 128-38, 0.1, false) + addlasershooter(128, 90, 0.1, false) end, everysecond = wave[8].everysecond, } @@ -194,8 +194,8 @@ wave[14] = { delay = 0, start = function() addbomb(140,46, 4) - addtargetingenemy(140, 60-8, 0.2) - addtargetingenemy(140, 60+8, 0.2) + addtargetingenemy(140, 52, 0.2) + addtargetingenemy(140, 68, 0.2) addballshooter(128, 14, 0.03) addballshooter(128, 100, 0.03) end, @@ -235,8 +235,8 @@ wave[16] = { --music(0, 0, 3) function updatewaves() - currentwavetime += 1/60 - everysecondtimer += 1/60 + currentwavetime += ft + everysecondtimer += ft if everysecondtimer >= 1 then everysecondtimer = 0 if wave[currentwave].everysecond then @@ -244,7 +244,7 @@ function updatewaves() end end if (wave[currentwave].conditions and wave[currentwave].conditions() or #enemies < 1) then - delaytimer += 1/60 + delaytimer += ft if delaytimer > wave[min(currentwave+1, #wave)].delay then if changedmusic and currentwave ~= 15 then music(0, 0, 3) |
