From 97fac63998b9ababdc83240b210a5c17f1c08532 Mon Sep 17 00:00:00 2001 From: Baptiste Date: Thu, 7 Dec 2023 18:53:34 +0100 Subject: [PATCH] ajout du drift --- assets/sounds/drift.mp3 | Bin 0 -> 60112 bytes js/class.js | 24 +++++++++++++++++------- js/game.js | 16 +++++++++------- js/network.js | 6 ++++-- 4 files changed, 30 insertions(+), 16 deletions(-) create mode 100644 assets/sounds/drift.mp3 diff --git a/assets/sounds/drift.mp3 b/assets/sounds/drift.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..2929b23cab87c390c9fa9dc99689ebb6c692d213 GIT binary patch literal 60112 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 0) { + this.Renderer.RenderCar(this.x,this.y, this.angle+90) + this.drift-- + } else { + this.Renderer.RenderCar(this.x,this.y, this.angle) + } } pseudoaleatoire() { diff --git a/js/game.js b/js/game.js index c1100df..a98f6ff 100644 --- a/js/game.js +++ b/js/game.js @@ -11,13 +11,15 @@ function CookiePseudo() { Renderer = new Render("canvas", "./assets/map/map7_recadr.png"); LB = new LeaderBoard("canvas"); -cars = [new Car(Renderer, 0, 0), - new Car(Renderer, 0, 7), - new Car(Renderer, 1, 7), - new Car(Renderer, 1, 13), - new Car(Renderer, 1, 14), - new Car(Renderer, 0, 15)] -let Net = new Network("ws://129.151.227.50:8080?name="+CookiePseudo(), Renderer); +let sound = new Sound("./assets/sounds/"); +sound.loadSounds(); +cars = [new Car(Renderer, 0, 0, sound), + new Car(Renderer, 0, 7, sound), + new Car(Renderer, 1, 7, sound), + new Car(Renderer, 1, 13, sound), + new Car(Renderer, 1, 14, sound), + new Car(Renderer, 0, 15, sound)] +let Net = new Network("ws://129.151.227.50:8080?name="+CookiePseudo(), sound); let playerId = null; //id of client player diff --git a/js/network.js b/js/network.js index 8fa2638..74d9340 100644 --- a/js/network.js +++ b/js/network.js @@ -1,5 +1,5 @@ class Network{ - constructor(adress){ + constructor(adress, bulletsound){ this.adress = adress; this.connected = false; @@ -10,6 +10,7 @@ class Network{ this.playersToUpdate = []; this.bulletsToAdd = []; this.deathToAdd = []; + this.sound=bulletsound; } message(data){ @@ -36,7 +37,8 @@ class Network{ this.playersToRemove.push(data.data.id); break; case "newBullet": - this.bulletsToAdd.push(new Bullet(data.data.x,data.data.y,data.data.dx,data.data.dy,data.data.id)); + console.log(this.sound) + this.bulletsToAdd.push(new Bullet(data.data.x,data.data.y,data.data.dx,data.data.dy,data.data.id, this.sound)); break; case "died": console.log("player",data.data.id,"was killed by",data.data.killerId);