diff --git a/client/public/images/boo.png b/client/public/images/boo.png new file mode 100644 index 0000000000000000000000000000000000000000..3d49d9e2fb7f0b04b027c2edcb8680752c0051d6 Binary files /dev/null and b/client/public/images/boo.png differ diff --git a/client/src/main.js b/client/src/main.js index 5c360d9e4f3c4f8795eeff1f465e18729373b59e..260e8c42a916bdcecee1d9d74e91870fb7c4ea91 100644 --- a/client/src/main.js +++ b/client/src/main.js @@ -17,6 +17,7 @@ const imageMortier = new Image(); const imageProjectile = new Image(); const imageEnemi = new Image(); const imageEnemi2 = new Image(); +const imageEnemi3 = new Image(); const background = new Image(); const imageCoeur = new Image(); @@ -24,6 +25,7 @@ imageMortier.src = '/images/mortier.png'; imageProjectile.src = '/images/bill.png'; imageEnemi.src = '/images/koopa.png'; imageEnemi2.src = '/images/bob_omb.png'; +imageEnemi3.src = '/images/boo.png'; background.src = '/images/background2.webp'; imageCoeur.src = '/images/heart1.webp'; let gameStarted = false; @@ -210,6 +212,7 @@ function render() { context, imageEnemi, imageEnemi2, + imageEnemi3, enemi.x, enemi.y, enemi diff --git a/client/src/render.js b/client/src/render.js index 03c4bb2eecfb009f3981cc6ed92f4abb8cbc7aec..74326532f74b08261fa21b5958cb8146bb472a4d 100644 --- a/client/src/render.js +++ b/client/src/render.js @@ -9,11 +9,22 @@ export default class Render { } } - static renderEnnemi(canvas, context, imageEnemi, imageEnemi2, x, y, enemi) { + static renderEnnemi( + canvas, + context, + imageEnemi, + imageEnemi2, + imageEnemi3, + x, + y, + enemi + ) { if (enemi.difficulté == 1) { draw(canvas, context, imageEnemi, x, y); } else if (enemi.difficulté == 2) { draw(canvas, context, imageEnemi2, x, y); + } else if (enemi.difficulté) { + draw(canvas, context, imageEnemi3, x, y); } } diff --git a/server/enemis.js b/server/enemis.js index 0d87d1e260f7a1fad2462e4f48a30d74f5906371..45aa7ab4fa11595b584bbbe9adecfca5032477d9 100644 --- a/server/enemis.js +++ b/server/enemis.js @@ -18,6 +18,9 @@ export default class enemi extends Entite { } else if (difficulté == 2) { this.vx = 5; this.vy = 1; + } else if (difficulté == 3) { + this.vx = 20; + this.vy = 16; } this.difficulté = difficulté; this.vies = 2; diff --git a/server/index.js b/server/index.js index 1a6da4abdc1b194c68d1a076edc4fee0abcd8043..9926c8807ca782dbc8c18665d33e854952c61b8c 100644 --- a/server/index.js +++ b/server/index.js @@ -48,6 +48,7 @@ const bonusArray = []; let cpt = 0; let canShoot = true; let LVL2start = false; +let LVL3start = false; io.on('connection', socket => { cpt++; @@ -93,14 +94,10 @@ io.on('connection', socket => { canShoot = false; setTimeout(function () { canShoot = true; - }, 100); + }, 200); } }); - socket.on('LVL2', LVL2start => { - LVL2start = true; - }); - socket.on('canvasSize', canvasSize => { console.log(canvasSize); canvasSize = canvasSize; @@ -113,6 +110,9 @@ let spawnIntervalLV1 = setInterval(() => { if (t.getMin() >= 1) { LVL2start = true; } + if (t.getSec() >= 30) { + LVL3start = true; + } let randomY = Math.random() * (canvasSize.height - 0) + 0; do { @@ -134,6 +134,17 @@ let spawnIntervalLV2 = setInterval(() => { } }, 800); +let spawnIntervalLV3 = setInterval(() => { + if (LVL3start && gameStarted) { + let randomY = Math.random() * (canvasSize.height - 0) + 0; + do { + randomY = Math.random() * (canvasSize.height - 0) + 0; + } while (randomY > canvasSize.height - 100); + const newEnemy = new enemi(canvasSize.width - 100, randomY, 1, 3); + enemis.push(newEnemy); + } +}, 4000); + let spawnBonusInterval = setInterval(() => { if (gameStarted) { let randomX;