diff --git a/.gitignore b/.gitignore index 934c1fb..74411b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ */.env +*.pyc \ No newline at end of file diff --git a/site/real_game/class/Map.js b/site/real_game/class/Map.js new file mode 100644 index 0000000..adb8e1c --- /dev/null +++ b/site/real_game/class/Map.js @@ -0,0 +1,58 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* Map.js :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: hubourge +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/08/20 14:52:55 by hubourge #+# #+# */ +/* Updated: 2024/08/20 16:34:25 by hubourge ### ########.fr */ +/* */ +/* ************************************************************************** */ + +import * as THREE from 'three'; + + + +class Map +{ + scene = null; + arrObject = []; + + constructor(scene, length) + { + this.scene = scene; + scene.add(this.#createPlanes(7.5, length, -(Math.PI / 2), "plane1")); + // scene.add(this.#createWalls(0, 0, 0, "wallLeft")); + }; + + #createPlanes(x, y, rot, name) // passer un materiel + { + for (let i = 0; i < this.arrObject.length; i++) + { + if (this.arrObject[i].name == name) + throw Error("Name already exist."); + } + const geometry = new THREE.PlaneGeometry(x, y); + const material = new THREE.MeshPhysicalMaterial() + const mesh = new THREE.Mesh(geometry, material); + + mesh.rotateX(rot); + mesh.position.set(0, 0.15, -6); + this.arrObject.push({mesh: mesh, name: name}); + return (mesh); + }; + + // #createWalls(x, y, z, name) + // { + // const geometry = new THREE.BoxGeometry(20, 20, 20); + // const material = new THREE.MeshPhysicalMaterial(); + // const mesh = new THREE.Mesh(geometry, material); + + // mesh.position.set(x, y, z); + // this.arrObject.push({mesh: mesh, name: name}); + // return (mesh); + // }; +}; + +export { Map }; \ No newline at end of file diff --git a/site/real_game/class/Player.js b/site/real_game/class/Player.js index 7424919..983ea16 100644 --- a/site/real_game/class/Player.js +++ b/site/real_game/class/Player.js @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* Player.js :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: edbernar +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/08/18 00:30:31 by edbernar #+# #+# */ -/* Updated: 2024/08/20 14:33:51 by edbernar ### ########.fr */ +/* Updated: 2024/08/20 16:00:24 by hubourge ### ########.fr */ /* */ /* ************************************************************************** */ @@ -51,8 +51,8 @@ let playerExist = false; const limits = { up : 3, down: 0.2, - left: -4, - right: 4, + left: -3, + right: 3, } class Player diff --git a/site/real_game/main.js b/site/real_game/main.js index 2c60732..2e34410 100644 --- a/site/real_game/main.js +++ b/site/real_game/main.js @@ -3,15 +3,17 @@ /* ::: :::::::: */ /* main.js :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: edbernar +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/08/18 00:53:53 by edbernar #+# #+# */ -/* Updated: 2024/08/19 23:08:38 by edbernar ### ########.fr */ +/* Updated: 2024/08/20 16:11:26 by hubourge ### ########.fr */ /* */ /* ************************************************************************** */ import * as THREE from 'three'; import { Player } from './class/Player' +import { Map } from './class/Map' +import { OrbitControls } from 'three/examples/jsm/Addons.js'; function createBarPlayer(color) { @@ -41,18 +43,17 @@ function createMap() const scene = new THREE.Scene(); +const map = new Map(scene, 13); const bar = createBarPlayer(0xed56ea); const renderer = new THREE.WebGLRenderer({antialias: true}); const player = new Player(bar); const spotLight = new THREE.SpotLight(0xffffff, 10000, 0, Math.PI / 4); const ambiantLight = new THREE.AmbientLight(0xffffff, 1); -const map = createMap(); scene.add(player.object); scene.add(ambiantLight); spotLight.position.set(0, 100, 0); scene.add(spotLight); -scene.add(map); scene.background = new THREE.Color(0x1a1a1a); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement);