Untitled

 avatar
unknown
plain_text
4 months ago
1.3 kB
2
Indexable
const express = require('express');
const http = require('http');
const { Server } = require('socket.io');

const app = express();
const server = http.createServer(app);
const io = new Server(server);

const players = {};

io.on('connection', (socket) => {
    console.log(`Player connected: ${socket.id}`);
    
    // Add player to the game
    players[socket.id] = {
        x: Math.random() * 800, // Random spawn position
        y: Math.random() * 600,
        score: 0,
    };

    // Send initial game state to the new player
    socket.emit('initialize', players);

    // Handle player movement
    socket.on('move', (data) => {
        const player = players[socket.id];
        if (player) {
            player.x += data.x;
            player.y += data.y;
        }
    });

    // Remove player on disconnect
    socket.on('disconnect', () => {
        console.log(`Player disconnected: ${socket.id}`);
        delete players[socket.id];
        io.emit('playerLeft', socket.id);
    });
});

// Broadcast game state at regular intervals
setInterval(() => {
    io.emit('gameState', players);
}, 1000 / 30); // 30 FPS

server.listen(3000, () => {
    console.log('Server is running on port 3000');
});

Editor is loading...
Leave a Comment