За последние 24 часа нас посетили 30839 программистов и 1444 робота. Сейчас ищут 907 программистов ...

Правильно ли я написал скрипт сервера?

Тема в разделе "JavaScript и AJAX", создана пользователем engine.energy, 18 июл 2015.

  1. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    Хотел узнать мнения профи кодера правильно ли я написал код сервера.

    Клиент:
    player.new - создает персонаж (Игрок вошел в игру, отправляем другим клиентам для создание персонажа)
    player.remove - удаляет персонаж (Игрок вышел с игры, отправляем другим клиентам для удаление персонажа)
    disconnect - удаляет персонаж (Игрок вышел с игры, отправляем другим клиентам для удаление персонажа)
    player.move - персонаж бегает (Игрок двинул персонажа, отправляем другим клиентам для передвижение персонажа)
    installation.players - Инициализация персонажи (Игрок вошел игру, отправляем сервер чтобы получить данные игроков и создаем персонаж)


    Код (PHP):
    1. var io = require('socket.io').listen(8080);
    2.  
    3. /*------------------------------
    4.  * Player class
    5.  *------------------------------*/
    6. function Player(id, x, y) {
    7.     this.id = id;
    8.     this.pos = {
    9.         'x': x,
    10.         'y': y
    11.     };
    12. }
    13.  
    14. /*------------------------------
    15.  * Variables
    16.  *------------------------------*/
    17. var players = {};
    18.  
    19. /*------------------------------
    20.  * Sockets class
    21.  *------------------------------*/
    22. io.on('connection', function (socket) 
    23. {
    24.     socket.on('player.new', function(data)
    25.     {
    26.         var player = new Player());
    27.     
    28.         player.id = socket.id;
    29.         player.pos.= 100;
    30.         player.pos.= 100;
    31.         
    32.         players[socket.id] = player;
    33.         
    34.         socket.broadcast.emit('player.new', player);
    35.     });
    36.     
    37.     socket.on('player.remove', function(data)
    38.     {
    39.         var player = players[client.id];
    40.         
    41.         socket.broadcast.emit('player.remove', player);
    42.     });
    43.     
    44.     socket.on('disconnect', function(data)
    45.     {
    46.         var player = players[client.id];
    47.         
    48.         socket.broadcast.emit('player.remove', player);
    49.     });
    50.     
    51.     socket.on('player.move', function(data)
    52.     {
    53.         var player = players[socket.id];
    54.     
    55.         player.pos.= data.x;
    56.         player.pos.= data.y;
    57.         
    58.         socket.broadcast.emit('player.move', player);
    59.     });
    60.     
    61.     socket.on('installation.players', function(data)
    62.     {
    63.         for (var i = 0; i < pleyers.length; i++) 
    64.         {
    65.             var player = players[i];
    66.             var json = {
    67.                 'player': player,
    68.                 'local': player.id === socket.id ? true : false;
    69.             };
    70.             socket.emit('player.new', json);
    71.         }
    72.     });
    73. });
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Боюсь, тут людей, работающих с Нодой либо нет, либо "полтора землекопа".
    Суди сам - если работает, как ты ожидал, значит правильно :)

    P.S. - у тебя, кстати, письменная речь сейчас гораздо лучше, чем когда ты только зарегался, это круто, молодец.
     
  3. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Тут нужно смотреть требования к серверу.
    Так то всё выглядит логично если на голом socket.io
     
  4. engine.energy

    engine.energy Новичок

    С нами с:
    31 май 2015
    Сообщения:
    149
    Симпатии:
    0
    Fell-x27, стараюсь хд!