Merge branch 'main' of github.com:Kum1ta/PTME_Transcendence

This commit is contained in:
Misthaa
2024-11-15 18:58:19 +01:00
9 changed files with 40 additions and 27 deletions

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2024/11/13 16:21:18 by tomoron #+# #+# # # Created: 2024/11/13 16:21:18 by tomoron #+# #+# #
# Updated: 2024/11/13 16:30:41 by tomoron ### ########.fr # # Updated: 2024/11/15 17:08:23 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -276,7 +276,7 @@ class Game:
if(stop): if(stop):
self.ball.vel = [0, 0] self.ball.vel = [0, 0]
else: else:
self.ball.setStartVel(self.lastWin == 2) self.ball.setStartVel(self.lastWin == 1)
self.sendNewBallInfo(True) self.sendNewBallInfo(True)
self.gameStart = time.time() self.gameStart = time.time()

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2024/10/05 03:22:32 by tomoron #+# #+# # # Created: 2024/10/05 03:22:32 by tomoron #+# #+# #
# Updated: 2024/10/22 15:35:59 by tomoron ### ########.fr # # Updated: 2024/11/15 16:43:28 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -40,12 +40,13 @@ class Player():
newPos = leftLimit if newPos < 0 else rightLimit newPos = leftLimit if newPos < 0 else rightLimit
return(newPos) return(newPos)
print("speed :", abs(newPos - self.pos["pos"]) * (1 / deltaTime))
if(abs(newPos - self.pos["pos"]) * (1 / deltaTime) > GameSettings.maxPlayerSpeed + GameSettings.playerSpeedTolerance): if(abs(newPos - self.pos["pos"]) * (1 / deltaTime) > GameSettings.maxPlayerSpeed + GameSettings.playerSpeedTolerance):
newMove = GameSettings.maxPlayerSpeed * deltaTime newMove = GameSettings.maxPlayerSpeed * deltaTime
if(newPos - self.pos["pos"] < 0): if(newPos - self.pos["pos"] < 0):
newMove = -newMove newMove = -newMove
print("\033[31mplayer is too fast") print("\033[31mplayer is too fast")
print("speed :", abs(newPos - self.pos["pos"]) * (1 / deltaTime))
print("time : ", deltaTime)
newPos = self.pos["pos"] + newMove newPos = self.pos["pos"] + newMove
return(newPos) return(newPos)
print("no problem") print("no problem")

View File

@ -6,7 +6,7 @@
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */ /* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/13 13:59:46 by edbernar #+# #+# */ /* Created: 2024/09/13 13:59:46 by edbernar #+# #+# */
/* Updated: 2024/11/15 15:08:44 by edbernar ### ########.fr */ /* Updated: 2024/11/15 15:26:47 by edbernar ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */

View File

@ -3,10 +3,10 @@
/* ::: :::::::: */ /* ::: :::::::: */
/* Ball.js :+: :+: :+: */ /* Ball.js :+: :+: :+: */
/* +:+ +:+ +:+ */ /* +:+ +:+ +:+ */
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */ /* By: hubourge <hubourge@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/28 15:58:03 by edbernar #+# #+# */ /* Created: 2024/08/28 15:58:03 by edbernar #+# #+# */
/* Updated: 2024/09/14 00:19:46 by edbernar ### ########.fr */ /* Updated: 2024/11/14 15:34:44 by hubourge ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */

View File

@ -3,10 +3,10 @@
/* ::: :::::::: */ /* ::: :::::::: */
/* Map.js :+: :+: :+: */ /* Map.js :+: :+: :+: */
/* +:+ +:+ +:+ */ /* +:+ +:+ +:+ */
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */ /* By: hubourge <hubourge@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/28 12:23:48 by edbernar #+# #+# */ /* Created: 2024/08/28 12:23:48 by edbernar #+# #+# */
/* Updated: 2024/11/13 14:54:17 by edbernar ### ########.fr */ /* Updated: 2024/11/14 15:33:50 by hubourge ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -59,16 +59,17 @@ class Map
initialSpeed = 0.15; initialSpeed = 0.15;
speed = 1; speed = 1;
if (Math.random() > 0.5) vec2.z = 0 * initialSpeed;
{ // if (Math.random() > 0.5)
vec2.z = (Math.random() * 0.8 - 0.4) * initialSpeed; // {
// vec2.z = (Math.random() * 0.8 - 0.4) * initialSpeed;
vec2.x = Math.sqrt(initialSpeed * initialSpeed - vec2.z * vec2.z); vec2.x = Math.sqrt(initialSpeed * initialSpeed - vec2.z * vec2.z);
} // }
else // else
{ // {
vec2.z = (Math.random() * 0.8 - 0.4) * initialSpeed; // vec2.z = (Math.random() * 0.8 - 0.4) * initialSpeed;
vec2.x = Math.sqrt(initialSpeed * initialSpeed - vec2.z * vec2.z); // vec2.x = Math.sqrt(initialSpeed * initialSpeed - vec2.z * vec2.z);
} // }
setTimeout(() => { setTimeout(() => {
scoreElement.innerHTML = '3'; scoreElement.innerHTML = '3';
@ -182,7 +183,7 @@ class Map
{ {
const value = 0.01; const value = 0.01;
for (let i = 1; i < 10; i++) for (let i = 0; i < 10; i++)
{ {
setTimeout(() => { setTimeout(() => {
player.scale.z += value; player.scale.z += value;

View File

@ -3,10 +3,10 @@
/* ::: :::::::: */ /* ::: :::::::: */
/* multiLocalGamePage.js :+: :+: :+: */ /* multiLocalGamePage.js :+: :+: :+: */
/* +:+ +:+ +:+ */ /* +:+ +:+ +:+ */
/* By: hubourge <hubourge@student.42.fr> +#+ +:+ +#+ */ /* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/28 12:07:39 by edbernar #+# #+# */ /* Created: 2024/08/28 12:07:39 by edbernar #+# #+# */
/* Updated: 2024/11/11 15:42:23 by hubourge ### ########.fr */ /* Updated: 2024/11/15 16:36:53 by edbernar ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -40,6 +40,7 @@ class multiLocalGamePage
renderer.domElement.style.filter = 'brightness(1)'; renderer.domElement.style.filter = 'brightness(1)';
document.getElementById('score').style.animation = 'fadeOutStartGames 1s'; document.getElementById('score').style.animation = 'fadeOutStartGames 1s';
window.addEventListener('resize', windowUpdater);
renderer.shadowMap.enabled = true; renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.PCFSoftShadowMap; renderer.shadowMap.type = THREE.PCFSoftShadowMap;
Ball.create(scene); Ball.create(scene);
@ -122,4 +123,11 @@ function gameFinish()
}, 3000); }, 3000);
} }
function windowUpdater()
{
renderer.setSize(window.innerWidth, window.innerHeight);
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
};
export { multiLocalGamePage }; export { multiLocalGamePage };

View File

@ -6,7 +6,7 @@
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */ /* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/20 17:02:47 by edbernar #+# #+# */ /* Created: 2024/08/20 17:02:47 by edbernar #+# #+# */
/* Updated: 2024/11/13 22:16:05 by edbernar ### ########.fr */ /* Updated: 2024/11/15 15:41:01 by edbernar ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -135,6 +135,8 @@ class Ball
let gameTime = performance.now() - this.start let gameTime = performance.now() - this.start
if(content.game_time > gameTime) if(content.game_time > gameTime)
this.start -= content.game_time - gameTime this.start -= content.game_time - gameTime
if (content.velocity[0] == 0 && content.velocity[1] == 0)
this.object.position.set(content.pos[0], this.limits.down, content.pos[1]);
this.srvPos = { this.srvPos = {
time : content.game_time, time : content.game_time,
pos : [content.pos[0], content.pos[1]], pos : [content.pos[0], content.pos[1]],

View File

@ -3,10 +3,10 @@
/* ::: :::::::: */ /* ::: :::::::: */
/* Player.js :+: :+: :+: */ /* Player.js :+: :+: :+: */
/* +:+ +:+ +:+ */ /* +:+ +:+ +:+ */
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */ /* By: hubourge <hubourge@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/18 00:30:31 by edbernar #+# #+# */ /* Created: 2024/08/18 00:30:31 by edbernar #+# #+# */
/* Updated: 2024/11/13 15:23:47 by edbernar ### ########.fr */ /* Updated: 2024/11/14 15:31:28 by hubourge ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -436,7 +436,7 @@ class Player
const value = 0.004; const value = 0.004;
for (let i = 1; i < 10; i++) for (let i = 0; i < 10; i++)
{ {
setTimeout(() => { setTimeout(() => {
object.scale.z += value; object.scale.z += value;

View File

@ -6,7 +6,7 @@
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */ /* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/18 00:53:53 by edbernar #+# #+# */ /* Created: 2024/08/18 00:53:53 by edbernar #+# #+# */
/* Updated: 2024/11/13 15:22:43 by edbernar ### ########.fr */ /* Updated: 2024/11/15 17:07:44 by edbernar ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -189,6 +189,7 @@ class MultiOnlineGamePage
interval = null; interval = null;
if (intervalPing) if (intervalPing)
clearInterval(intervalPing); clearInterval(intervalPing);
lastPingTime = 0;
intervalPing = null; intervalPing = null;
if (renderer) if (renderer)
renderer.dispose(); renderer.dispose();