LE MUUUUULTI MAAAAAAARCHE ENFIIIIIIIN
continuous-integration/drone/push Build is failing Details

MultiplayerGame
Vincent ASTOLFI 2 years ago
parent 4e6e157abf
commit 5ae4d2bdc1

@ -6,8 +6,8 @@ class Game {
this.player1 = id; this.player1 = id;
this.player2 = id2; this.player2 = id2;
this.players = {}; this.players = {};
this.players[id] = {name: username.toString(), pos: [64, 64]}; this.players[id] = {name: username.toString(), pos: [64, 192]};
this.players[id2] = {name: username2.toString(), pos: [64, 64]}; this.players[id2] = {name: username2.toString(), pos: [64, 192]};
} }
} }

@ -4,7 +4,7 @@ const express = require('express');
const app = express(); const app = express();
const http = require('http').createServer(app); const http = require('http').createServer(app);
const path = require('path'); const path = require('path');
const port = 8081; const port = 8082;
app.use(express.static('public')); app.use(express.static('public'));

@ -3,6 +3,7 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>Student's' Bros</title> <title>Student's' Bros</title>
<script type="module" src="./js/main.js"></script>
<script type="module" src="/js/mainGame.js"></script> <script type="module" src="/js/mainGame.js"></script>
</head> </head>
<body> <body>

@ -20,7 +20,6 @@ export default class ClientSocket{
getRoomList(){ getRoomList(){
this.sock.emit('getRooms', (response) => { this.sock.emit('getRooms', (response) => {
console.log(response.rooms);
PageBuilder.displayRooms(response.rooms) PageBuilder.displayRooms(response.rooms)
}) })
} }
@ -30,8 +29,8 @@ export default class ClientSocket{
} }
receiveCord(){ receiveCord(){
this.sock.on('getEnnemyPos', function(data) { return new Promise((resolve, reject) => {
console.log(data); this.sock.once('getEnnemyPos', (data) => resolve(data))
}) })
} }
} }

@ -1,11 +1,8 @@
import { joinRoom } from './multiplayerMain.js'; import { joinRoom } from './multiplayerMain.js';
export default class PageBuilder{ export default class PageBuilder{
createPage(content){
} static addElement(content, parent){
addElement(content, parent){
let newElement = document.createElement('p'); let newElement = document.createElement('p');
newElement.textContent = content; newElement.textContent = content;
parent.appendChild(newElement); parent.appendChild(newElement);

@ -13,34 +13,37 @@ const context = canvas.getContext('2d');
console.log('Welcome in game'); console.log('Welcome in game');
Promise.all([ Promise.all([
createPlayer(),
createPlayer(), createPlayer(),
loadLevel('1-1'), loadLevel('1-1'),
]) ])
.then(([player, level]) => { .then(([player, player2, level]) => {
const camera = new Camera(); const camera = new Camera();
window.camera = camera; window.camera = camera;
player.pos.set(64, 64); player.pos.set(64, 64);
game.pos.set(64, 64); player2.pos.set(64,64);
level.comp.layers.push(createCollisionLayer(level), createCameraLayer(camera)); level.comp.layers.push(createCollisionLayer(level), createCameraLayer(camera));
level.entities.add(player); level.entities.add(player);
level.entities.add(player2);
const input = setupKeyboard(player); const input = setupKeyboard(player);
input.listenTo(window); input.listenTo(window);
const timer = new Timer(1 / 60); const timer = new Timer(1 / 60);
timer.update = function update(deltaTime) { timer.update = function update(deltaTime) {
level.update(deltaTime); level.update(deltaTime)
if(game.isMulti && player.pos != game.pos){
socket.sendPos(player.pos);
game.pos = player.pos;
}
socket.receiveCord();
level.comp.draw(context, camera); level.comp.draw(context, camera);
if(game.isMulti){
socket.sendPos(player.pos);
socket.receiveCord().then(function(result) {
player2.pos.set(result['x'], result['y']);
})
}
camera.pos.x = 0 camera.pos.x = 0
if (player.pos.x > camera.size.x / 2) { if (player.pos.x > camera.size.x / 2) {
camera.pos.x = player.pos.x - camera.size.x / 2; camera.pos.x = player.pos.x - camera.size.x / 2;

@ -22,7 +22,7 @@ const onCreateRoom = function (event){
const username = document.querySelector('#username'); const username = document.querySelector('#username');
let usernameValue = username.value; let usernameValue = username.value;
socket.sendPlayerData(usernameValue); socket.sendPlayerData(usernameValue, roomId);
document.getElementById('user-card').remove(); document.getElementById('user-card').remove();
document.getElementById('match-making').style.display = 'block'; document.getElementById('match-making').style.display = 'block';

@ -43,11 +43,23 @@ io.on('connection', (socket) => {
}) })
socket.on('pos', function(data) { socket.on('pos', function(data) {
let ennemyPlayer = getEnnemyPlayer(socket.id);
//console.log(data) //console.log(data)
io.to(socket.id).emit('getEnnemyPos', data); io.to(ennemyPlayer).emit('getEnnemyPos', data);
}) })
}); });
function getEnnemyPlayer(id){
for(let game in games){
if(games[game].player1 == id){
return games[game].player2;
}
if(games[game].player2 == id){
return games[game].player1;
}
}
}
function matchMaker(socketId) { function matchMaker(socketId) {
if(matchmaking.length != 0 ){ if(matchmaking.length != 0 ){
let game = new Game( let game = new Game(

Loading…
Cancel
Save