diff options
Diffstat (limited to 'app.js')
-rw-r--r-- | app.js | 29 |
1 files changed, 26 insertions, 3 deletions
@@ -21,6 +21,7 @@ var Entity = function(){ var self = { x:250, y:250, + map: '001-1', speedX:0, speedY:0, id:"", @@ -49,6 +50,9 @@ var Player = function(id){ self.pressingAttack = false; self.mouseAngle = 0; self.maxSpeed = 10; + self.hp = 10; + self.hpMax = 10; + self.score = 0; var super_update = self.update; self.update = function(){ @@ -86,14 +90,21 @@ var Player = function(id){ id:self.id, x:self.x, y:self.y, - number:self.number + map:self.map, + number:self.number, + hp:self.hp, + hpMax:self.hpMax, + score:self.score, }; } self.getUpdatePack = function() { return { id:self.id, x:self.x, - y:self.y + y:self.y, + map:self.map, + score:self.score, + hp:self.hp, }; } Player.list[id] = self; @@ -121,6 +132,7 @@ Player.onConnect = function(socket){ }); socket.emit('init',{ + selfId:socket.id, player:Player.getAllInitPack(), bullet:Bullet.getAllInitPack(), }); @@ -164,7 +176,16 @@ var Bullet = function(parent, angle) { for (var i in Player.list){ var p = Player.list[i]; if(self.getDistance(p) < 32 && self.parent !== p.id){ - //hp -- + p.hp -= 1; + if (p.hp <= 0){ + var shooter = Player.list[self.parent]; + if (shooter) + shooter.score += 1; + p.hp = p.hpMax; + p.x = Math.random() * 500; + p.y = Math.random() * 500; + + } self.toRemove = true; } } @@ -175,6 +196,7 @@ var Bullet = function(parent, angle) { id:self.id, x:self.x, y:self.y, + map:self.map, }; } @@ -183,6 +205,7 @@ var Bullet = function(parent, angle) { id:self.id, x:self.x, y:self.y, + map:self.map, }; } |