diff --git a/public_html/assets/map/map7_principale.png b/public_html/assets/map/map_principale.png similarity index 100% rename from public_html/assets/map/map7_principale.png rename to public_html/assets/map/map_principale.png diff --git a/public_html/js/game.js b/public_html/js/game.js index 84edc5e..2990357 100644 --- a/public_html/js/game.js +++ b/public_html/js/game.js @@ -9,7 +9,7 @@ function CookiePseudo() { return null; } -Renderer = new Render("canvas", "./assets/map/map7_principale.png", "./assets/map/map7_secondaire.png"); +Renderer = new Render("canvas", "./assets/map/map_principale.png", "./assets/map/map_secondaire.png"); LB = new LeaderBoard("canvas"); let sound = new Sound("./assets/sounds/"); sound.loadSounds(); @@ -37,6 +37,13 @@ let dt = 1; function update() { + if(player.y>470 && player.y<480 && player.x>237 && player.x<310) { + player.x=2510 + player.y=2714 + } else if (player.x>2588 && player.x<2687 && player.y>2129 && player.y<2180) { + player.x=270 + player.y=250 + } let playerToUpdate = Net.getPlayersToUpdate(); for (let i = 0;i=2000 && this.player.y>=2000 && this.mouseX<2000 && this.mouseY<2000) { + this.mouseX=this.mouseX+2000; + this.mouseY=this.mouseY+2000; + } + let dx = this.mouseX-this.player.x; let dy = this.mouseY-this.player.y; + let norm = Math.sqrt(dx*dx+dy*dy); let b = new Bullet(this.player.x,this.player.y,dx/norm,dy/norm,this.player.id, sound); diff --git a/public_html/js/render.js b/public_html/js/render.js index 812cc5f..4619bf3 100644 --- a/public_html/js/render.js +++ b/public_html/js/render.js @@ -13,8 +13,10 @@ class Render { this.players = []; this.bullets = []; this.mapsrc=mapsrc; + this.map2src=map2src; this.ReloadAff(); this.playerid=0; + this.map=0 } SetPlayerId(id) { @@ -49,43 +51,73 @@ class Render { } RenderPlayer(player) { - this.ctx.save(); - this.ctx.translate(player.x, player.y); - this.ctx.rotate(player.angle); - this.ctx.drawImage(imgPlayer, -playerSize / 2, -playerSize / 2, playerSize, playerSize); - this.ctx.restore(); - this.ctx.fillStyle = 'white'; - this.ctx.font="10pt arial"; - this.ctx.fillText(player.name,player.x-player.name.length*10/3,player.y-playerSize/1.8); - if(player.id==this.playerid) { - this.ctx.fillStyle = 'red'; - this.ctx.fillRect(player.x-playerSize/2-5, player.y-playerSize/2, playerSize+10, 5); - this.ctx.fillStyle = '#7AFF33'; - this.ctx.fillRect(player.x-playerSize/2-5, player.y-playerSize/2, player.health*(playerSize+10)/defaulthealth, 5); - } + let x=player.x + let y=player.y + if(x>=2000 && y>=2000 && this.map==1) { + x=player.x-2000 + y=player.y-2000 + } + + //this.map==1 && (x<2000 || y<2000) + if((this.map==1 && player.x>=2000 && player.y>=2000) || (this.map==0 && x<2000 && y <2000)) { + this.ctx.save(); + this.ctx.translate(x, y); + this.ctx.rotate(player.angle); + this.ctx.drawImage(imgPlayer, -playerSize / 2, -playerSize / 2, playerSize, playerSize); + this.ctx.restore(); + this.ctx.fillStyle = 'white'; + this.ctx.font="10pt arial"; + this.ctx.fillText(player.name,x-name.length*10/3,y-playerSize/1.8); + if(player.id==this.playerid) { + this.ctx.fillStyle = 'red'; + this.ctx.fillRect(x-playerSize/2-5, y-playerSize/2, playerSize+10, 5); + this.ctx.fillStyle = '#7AFF33'; + this.ctx.fillRect(x-playerSize/2-5, y-playerSize/2, player.health*(playerSize+10)/defaulthealth, 5); + } + } } RenderCar(x,y,angle) { - this.ctx.save(); - this.ctx.translate(x, y); - this.ctx.rotate(angle); - this.ctx.drawImage(imgCar, -carSize*1513/750 / 2, -carSize / 2, carSize*1513/750, carSize); - this.ctx.restore(); + if(this.map==0) { + this.ctx.save(); + this.ctx.translate(x, y); + this.ctx.rotate(angle); + this.ctx.drawImage(imgCar, -carSize*1513/750 / 2, -carSize / 2, carSize*1513/750, carSize); + this.ctx.restore(); + } } RenderBullet(bullet) { + let x = bullet.x + let y = bullet.y + if(this.map==1) { + x = x-2000 + y = y-2000 + } this.ctx.save(); - this.ctx.translate(bullet.x, bullet.y); + this.ctx.translate(x, y); this.ctx.drawImage(imgBullet, -20 / 2, -20 / 2, 20, 20); this.ctx.restore(); } ReloadAff() { - /*this.ctx.fillStyle = "red"; - this.ctx.fillRect(0,0,this.canvas.width,this.canvas.height); - */ const fond = new Image(); - fond.src = this.mapsrc; + this.players.forEach((p) => { + if(p.id==this.playerid) { + //console.log(p) + if(p.x >= 2000 && p.y >=2000) { + this.map=1 + } else { + this.map=0 + } + } + }) + + if(this.map==0) { + fond.src = this.mapsrc; + } else { + fond.src = this.map2src; + } mapWidth = fond.width; mapHeith = fond.height; this.ctx.canvas.width = mapWidth;