Skip to content
Snippets Groups Projects
Select Git revision
  • ecba4f84c2247be95e69f580f8737145d929d2d2
  • main default protected
  • brouillonMathis
3 results

index.js

Blame
  • index.js 5.96 KiB
    import express from 'express';
    import http from 'http';
    import addWebpackMiddleware from './middlewares/addWebpackMiddleware.js';
    import { Server as IOServer } from 'socket.io';
    import { Avatar } from '../client/src/avatar.js';
    import enemi from './enemis.js';
    import { Coordinate } from '../client/src/Coordinate.js';
    import timer from './timer.js';
    import Bonus from './bonus.js';
    import { bonusImages, bonusNoms, bonusTaille } from '../client/src/utils.js';
    
    const app = express();
    
    let canvasSize = new Coordinate(1920, 1261);
    
    let canLostLifeAvatar = true;
    let canLostLifeEnemi = true;
    let gameStarted = false;
    
    let t = new timer();
    
    const httpServer = http.createServer(app);
    const fileOptions = { root: process.cwd() };
    addWebpackMiddleware(app);
    
    const io = new IOServer(httpServer);
    
    app.use(express.static('client/public'));
    
    const port = process.env.PORT == null ? 8000 : process.env.PORT;
    httpServer.listen(port, () => {
    	console.log(`Server running at http://localhost:${port}/`);
    });
    
    setInterval(function () {
    	if (gameStarted) {
    		t.addTime();
    		io.emit('timer', t.getMin(), t.getSec());
    	} else {
    		t = new timer();
    	}
    }, 1000);
    
    const avatars = [];
    const enemis = [];
    const bonusArray = [];
    
    let cpt = 0;
    let canShoot = true;
    let LVL2start = false;
    
    io.on('connection', socket => {
    	cpt++;
    	if (cpt <= 4) {
    		const avatar = new Avatar(`${socket.id}`, cpt);
    		io.emit('newAvatar', { id: cpt, x: avatar.getX(), y: avatar.getY() });
    		avatars.push(avatar);
    
    		socket.on('disconnect', () => {
    			avatars.forEach(avatar => {
    				if (avatar.nom == socket.id) {
    					console.log('taille du tableau : ' + avatars.length);
    					io.emit('disconnectEvent', avatar.id);
    					avatars.splice(avatars.indexOf(avatar), 1);
    					console.log('taille du tableau : ' + avatars.length);
    				}
    			});
    			console.log(`Déconnexion du client ${socket.id}`);
    		});