Advertisement
Guest User

Untitled

a guest
Dec 6th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var Entity = require('../entity/entity.js');
  2.  
  3. var Player = function (id) {
  4.     this.player = function(id) {
  5.         var self = Entity.entity();
  6.         self.id = id;
  7.         self.number = "" + Math.floor(10 * Math.random());
  8.         self.pressingRight = false;
  9.         self.pressingLeft = false;
  10.         self.pressingUp = false;
  11.         self.pressingDown = false;
  12.         self.maxSpd = 10;
  13.    
  14.         var super_update = self.update;
  15.         self.update = function() {
  16.             self.updateSpd();
  17.             super_update();
  18.         }
  19.  
  20.         self.updateSpd = function(){
  21.             if(self.pressingRight && self.x < 480)
  22.                 self.spdX = self.maxSpd;
  23.             else if(self.pressingLeft && self.x > 0)
  24.                 self.spdX = -self.maxSpd;
  25.             else
  26.                 self.spdX = 0;
  27.        
  28.             if(self.pressingUp && self.y > 20)
  29.                 self.spdY = -self.maxSpd;
  30.             else if(self.pressingDown && self.y < 500)
  31.                 self.spdY = self.maxSpd;
  32.             else
  33.                 self.spdY = 0;    
  34.         }
  35.         this.list[id] = self;
  36.         return self;
  37.     }
  38.    
  39.     this.list = {};
  40.    
  41.     this.onConnect = function(socket) {
  42.         var player = this.player(socket.id);
  43.         socket.on('keyPress',function(data){
  44.             if(data.inputId === 'left')
  45.                 player.pressingLeft = data.state;
  46.             else if(data.inputId === 'right')
  47.                 player.pressingRight = data.state;
  48.             else if(data.inputId === 'up')
  49.                 player.pressingUp = data.state;
  50.             else if(data.inputId === 'down')
  51.                 player.pressingDown = data.state;
  52.         });
  53.     }
  54.    
  55.     this.onDisconnect = function(socket) {
  56.         delete this.list[socket.id];
  57.     }
  58.  
  59.     this.onUpdate = function() {
  60.         var pack = [];
  61.         for(var i in this.list){
  62.             var player = this.list[i];
  63.             player.onUpdate();
  64.             pack.push({
  65.                 x:player.x,
  66.                 y:player.y,
  67.                 number:player.number
  68.             });
  69.         }
  70.         return pack;
  71.     }
  72. }
  73.  
  74. module.exports = new Player();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement