diff --git a/docker-compose/requirements/djangoserver/file/server/server/templates/lobbyPage.html b/docker-compose/requirements/djangoserver/file/server/server/templates/lobbyPage.html index 78f4013..2972441 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/templates/lobbyPage.html +++ b/docker-compose/requirements/djangoserver/file/server/server/templates/lobbyPage.html @@ -126,7 +126,7 @@
-

With bot

+

Against bot

diff --git a/docker-compose/requirements/nginx/static/javascript/multiLocalGame/Map.js b/docker-compose/requirements/nginx/static/javascript/multiLocalGame/Map.js index 3fc2af2..dfb057f 100644 --- a/docker-compose/requirements/nginx/static/javascript/multiLocalGame/Map.js +++ b/docker-compose/requirements/nginx/static/javascript/multiLocalGame/Map.js @@ -27,7 +27,7 @@ let score = {player1: 0, player2: 0}; let onUpdate = false; let scoreElement = null; let initialSpeed = 0; -let speed = 0; +let speed = 1; let gameEndStatus = false; const scoreToWin = 2; //+1 for real score to win @@ -54,16 +54,16 @@ class Map wallTop = createWall(true); scene.add(wallTop); - speed = 0.2; + initialSpeed = 0.2; if (Math.random() > 0.5) { - vec2.z = (Math.random() * 0.8 - 0.4) * speed; - vec2.x = Math.sqrt(speed * speed - vec2.z * vec2.z); + vec2.z = (Math.random() * 0.8 - 0.4) * initialSpeed; + vec2.x = Math.sqrt(initialSpeed * initialSpeed - vec2.z * vec2.z); } else { - vec2.z = (Math.random() * 0.8 - 0.4) * speed; - vec2.x = Math.sqrt(speed * speed - vec2.z * vec2.z); + vec2.z = (Math.random() * 0.8 - 0.4) * initialSpeed; + vec2.x = Math.sqrt(initialSpeed * initialSpeed - vec2.z * vec2.z); } setTimeout(() => { @@ -98,42 +98,64 @@ class Map if (onUpdate) return ; + // collision wall top and bottom if (ball.position.z > 5.7 || ball.position.z < -5.7) vec2.z *= -1; + // collision player2 left if (ball.position.x > 11.45 && ball.position.x < 12.2) { if (ball.position.z < player2.position.z + 1.25 && ball.position.z > player2.position.z - 1.25) { Map.scalePlayer(player2); - initialSpeed = Math.sqrt(vec2.x * vec2.x + vec2.z * vec2.z); - vec2.z -= (player2.position.z - ball.position.z) / (10 / speed) * 4; - vec2.x = -Math.sqrt(initialSpeed * initialSpeed - vec2.z * vec2.z); + vec2.x *= -1; + // Ca bug donc je le laisse en commentaire + // if (ball.position.z < player2.position.z + 0.5) + // { + // vec2.z -= 0.05; + // vec2.x += 0.05; + // } + // else if (ball.position.z > player2.position.z + 0.5) + // { + // vec2.z += 0.05; + // vec2.x -= 0.05; + // } } - } + } // collision player1 right else if (ball.position.x < -11.45 && ball.position.x > -12.2) { if (ball.position.z < player1.position.z + 1.25 && ball.position.z > player1.position.z - 1.25) - { + { Map.scalePlayer(player1); - initialSpeed = Math.sqrt(vec2.x * vec2.x + vec2.z * vec2.z); - vec2.z -= (player1.position.z - ball.position.z) / (10 / speed) * 4; - vec2.x = Math.sqrt(initialSpeed * initialSpeed - vec2.z * vec2.z); + vec2.x *= -1; + // Ca bug donc je le laisse en commentaire + // if (ball.position.z < player1.position.z + 0.5) + // { + // vec2.z -= 0.05; + // vec2.x += 0.05; + // } + // else if (ball.position.z > player1.position.z + 0.5) + // { + // vec2.z += 0.05; + // vec2.x -= 0.05; + // } } } // velocity - ball.position.x += vec2.x; - ball.position.z += vec2.z; + ball.position.x += vec2.x * speed; + ball.position.z += vec2.z * speed; + if (speed < 3) + speed += 0.005; // ball opacity - if (ball.position.x > 12) + if (ball.position.x > 12.3) { ball.material.opacity -= 0.1; if (ball.position.x > 14) return (Map.reCreate(false)); } - else if (ball.position.x < -12) + else if (ball.position.x < -12.3) { ball.material.opacity -= 0.1; if (ball.position.x < -14) @@ -184,13 +206,13 @@ class Map setTimeout(() => { if (player1Lose) { - initialSpeed = Math.sqrt(vec2.x * vec2.x + vec2.z * vec2.z); + initialSpeed = 0.2; vec2.z = (Math.random() * 0.8 - 0.4) * initialSpeed; vec2.x = -Math.sqrt(initialSpeed * initialSpeed - vec2.z * vec2.z); } else { - initialSpeed = Math.sqrt(vec2.x * vec2.x + vec2.z * vec2.z); + initialSpeed = 0.2; vec2.z = (Math.random() * 0.8 - 0.4) * initialSpeed; vec2.x = Math.sqrt(initialSpeed * initialSpeed - vec2.z * vec2.z); } @@ -201,7 +223,7 @@ class Map setTimeout(() => { ball.material.opacity = 1; ball.position.set(0, 0.3, 0); - initialSpeed = 0.5; + speed = 1; scoreElement.style.animation = 'fadeOutGames 0.199s'; document.getElementsByTagName('canvas')[0].style.filter = 'brightness(1)'; diff --git a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Map.js b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Map.js index 04ae3b9..79d71dc 100644 --- a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Map.js +++ b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Map.js @@ -533,9 +533,9 @@ class Map meshProfileRightFront = new THREE.Mesh(geometryProfileRightFront, materialProfileRight); geometryProfileLeftBack = new THREE.PlaneGeometry(width - 0.15, height - 0.15); - meshProfileLeftBack = new THREE.Mesh(geometryProfileLeftBack, materialProfileLeft); + meshProfileLeftBack = new THREE.Mesh(geometryProfileLeftBack, materialProfileRight); geometryProfileRightBack = new THREE.PlaneGeometry(width - 0.15, height - 0.15); - meshProfileRightBack = new THREE.Mesh(geometryProfileRightBack, materialProfileRight); + meshProfileRightBack = new THREE.Mesh(geometryProfileRightBack, materialProfileLeft); meshProfileLeftFront.position.set(-spacing - width / 2 - 0.275, 1.6, - 8.15); meshProfileLeftFront.rotation.y = 0.4; @@ -1025,6 +1025,9 @@ class Map reCreate(name) { + player.resetScaleplayers(); + player.reserCameraPlayer(); + this.#clearAnimationGoal(); animateGoalObjectUpdate = false; animationSpeed = 0.02; @@ -1032,8 +1035,6 @@ class Map this.updateScore(name, this.score); ball.resetPosBall(); this.resetPosWalls(); - player.resetScaleplayers(); - player.reserCameraPlayer(); }; }; diff --git a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Player.js b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Player.js index 0bc1015..c8ac837 100644 --- a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Player.js +++ b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Player.js @@ -442,6 +442,7 @@ class Player object.scale.x -= value * 2; }, i * 10); } + object.scale.set(1, 1, 1); } configureVrController() diff --git a/docker-compose/requirements/nginx/static/style/lobbyPage/lobbyPage.css b/docker-compose/requirements/nginx/static/style/lobbyPage/lobbyPage.css index a75f51c..1a4d8b6 100644 --- a/docker-compose/requirements/nginx/static/style/lobbyPage/lobbyPage.css +++ b/docker-compose/requirements/nginx/static/style/lobbyPage/lobbyPage.css @@ -409,6 +409,12 @@ body { min-width: 200px; } +#nbBot { + margin-top: 15px; + width: 94%; + font-size: 0.8rem; +} + .search-input:focus { border-color: white; } @@ -580,11 +586,11 @@ body { } input:checked + .slider { - background-color: #2196F3; + background-color: #21f356; } input:focus + .slider { - box-shadow: 0 0 1px #2196F3; + box-shadow: 0 0 1px #21f356; } input:checked + .slider:before {