aboutsummaryrefslogtreecommitdiffstats
path: root/src/game.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/game.ts')
-rw-r--r--src/game.ts40
1 files changed, 38 insertions, 2 deletions
diff --git a/src/game.ts b/src/game.ts
index f01e2ea..3fdfa8c 100644
--- a/src/game.ts
+++ b/src/game.ts
@@ -1,7 +1,7 @@
import Anime from "./Animation";
import { Background } from "./drawables/Background";
import Bullet from "./drawables/Bullet";
-import { canvas, ctx } from "./consts";
+import { canvas, ctx, TOPBAR_HEIGHT } from "./consts";
import BigCircle from "./enemies/BigCircle";
import Straight from "./enemies/Straight";
import Red1 from "./enemies/Red1";
@@ -16,6 +16,7 @@ import Green1 from "./enemies/Green1";
import Green2 from "./enemies/Green2";
import Strange from "./enemies/Strange";
import White from "./enemies/White";
+// import Startscreen from "./drawables/Startscreen";
let p = new Player()
let pLifes = 1;
@@ -33,6 +34,7 @@ let rafId = 0;
const bg = new Background()
const tb = new TopBar()
const hg = new Highscore()
+// const ss = new Startscreen();
export function start() {
p = new Player()
@@ -51,6 +53,9 @@ export function start() {
rafId = requestAnimationFrame(gpuLoop)
}
export function cpuLoop() {
+ // ss.move()
+ // newTimeout()
+ // return
if (hg.show) {
hg.move();
tb.setData(score, pLifes, rolls, highscore)
@@ -60,6 +65,7 @@ export function cpuLoop() {
p.move()
p.shoot(bullets)
bg.move()
+ spawnEnemies()
tb.setData(score, pLifes, rolls, highscore)
if (enemies.length === 0) {
// enemies.push(new BigCircle(25, -20))
@@ -105,7 +111,7 @@ export function cpuLoop() {
})
// console.log("aft: ", enemies.length);
// playerDied({} as Enemy)
- if (!bullCollPlay.length || enemCollPlay.length) playerDied(enemCollPlay)
+ if (bullCollPlay.length || enemCollPlay.length) playerDied(enemCollPlay)
else newTimeout()
}
@@ -161,3 +167,33 @@ export async function drawRestartScreen() {
const newTimeout = (f = cpuLoop) => { clearTimeout(intervalId); intervalId = setTimeout(f, 1000 / keys.fps) }
+function spawnEnemies() {
+ if(bg.delta === 180) enemies.push(new Straight(80, 0));
+ if(bg.delta === 180 + 20) enemies.push(new Straight(110, 0));
+ if(bg.delta === 180 + 20 + 30) enemies.push(new Straight(160, 0));
+ if(bg.delta === 180 + 20 + 30 + 25) enemies.push(new Straight(210, 0));
+ if(bg.delta === 180 + 20 + 30 + 25 + 80) enemies.push(new Straight(130, 0));
+ if(bg.delta === 180 + 20 + 30 + 25 + 80 + 50) enemies.push(new Straight(90, 0));
+ if(bg.delta === 180 + 20 + 30 + 25 + 80 + 50 + 32) enemies.push(new Straight(220, 0));
+ if(bg.delta === 630) enemies.push(new BigCircle(16, TOPBAR_HEIGHT - 40))
+ if(bg.delta === 630 + 38) enemies.push(new Straight(90, 0), new Straight(266, 0))
+ if(bg.delta === 630 + 38 + 38) enemies.push(new Straight(140, 0))
+ if(bg.delta === 630 + 38 + 38 + 70) enemies.push(new Straight(30, 0))
+ if(bg.delta === 630 + 38 + 38 + 70 + 30) enemies.push(new Straight(266, 0))
+ if(bg.delta === 1016 + 21 * 0) enemies.push(new Red1(-20, 52))
+ if(bg.delta === 1016 + 21 * 1) enemies.push(new Red1(-20, 52))
+ if(bg.delta === 1016 + 21 * 2) enemies.push(new Red1(-20, 52))
+ if(bg.delta === 1016 + 21 * 3) enemies.push(new Red1(-20, 52))
+ if(bg.delta === 1016 + 21 * 4) enemies.push(new Red1(-20, 52))
+ if(bg.delta === 1120) enemies.push(new Green1(110, canvas.height, true), new Green1(170, canvas.height, false))
+ if(bg.delta === 1498) enemies.push(new Strange(160, canvas.height))
+ if(bg.delta === 1498 + 45) enemies.push(new Red2(100, 0, true), new Red2(180, 0, false))
+ if(bg.delta === 1498 + 45 + 90) enemies.push(new Green2(100, 0, true), new Green2(180, 0, false))
+ if(bg.delta === 2000 + 85 * 0) enemies.push(new White(60, 0, true), new White(230, 0, false))
+ if(bg.delta === 2000 + 85 * 1) enemies.push(new White(60, 0, true), new White(230, 0, false))
+ if(bg.delta === 2000 + 85 * 2) enemies.push(new White(60, 0, true), new White(230, 0, false))
+ if(bg.delta === 2000 + 85 * 3) enemies.push(new White(60, 0, true))
+
+ if(bg.delta > 2200)
+ console.log(bg.delta);
+}