Commit fc356f78 authored by 18신대성's avatar 18신대성 Committed by 18손재민

같은 사람에 대한 여러 공격이 뭉쳐서 가도록 변경

parent 94d2cd10
...@@ -70,7 +70,6 @@ GameServer.getRoomNumber = function() ...@@ -70,7 +70,6 @@ GameServer.getRoomNumber = function()
} while (true) } while (true)
} }
class GameRoom class GameRoom
{ {
constructor() constructor()
......
...@@ -13,6 +13,8 @@ socket.on('alert', function(msg) // string errorcode ...@@ -13,6 +13,8 @@ socket.on('alert', function(msg) // string errorcode
ScenesData.gameScene.add.text(640, 360, '승리!!!!', {fontSize: '30pt'}) ScenesData.gameScene.add.text(640, 360, '승리!!!!', {fontSize: '30pt'})
.setPadding(5,5,5,5).setOrigin(0.5, 0.5).setDepth(11) .setPadding(5,5,5,5).setOrigin(0.5, 0.5).setDepth(11)
.setColor('#000000').setBackgroundColor('#ffffff'); .setColor('#000000').setBackgroundColor('#ffffff');
gameOver();
} }
//alert(toAlert); //alert(toAlert);
}); });
...@@ -138,7 +140,7 @@ socket.on('attacked', function(msg) // object attackData ...@@ -138,7 +140,7 @@ socket.on('attacked', function(msg) // object attackData
//console.log('attacked by ' + msg.attacker.nickname); //console.log('attacked by ' + msg.attacker.nickname);
var timeout = setTimeout(function() var timeout = setTimeout(function()
{ {
WordSpace.generateWord.Attack(ScenesData.gameScene, msg.text, msg.grade, msg.attacker, msg.isStrong, msg.isCountable); for (let i = 0; i < msg.multiple; i++) WordSpace.generateWord.Attack(ScenesData.gameScene, msg.text, msg.grade, msg.attacker, msg.isStrong, msg.isCountable);
}, 4000); }, 4000);
//console.log(timeout); //console.log(timeout);
}); });
......
...@@ -350,7 +350,8 @@ WordSpace.findWord = function(wordText) ...@@ -350,7 +350,8 @@ WordSpace.findWord = function(wordText)
{ {
roomNum: RoomData.roomId, roomNum: RoomData.roomId,
victim: RoomData.myself, victim: RoomData.myself,
target: element.attacker.id target: element.attacker.id,
word: element.wordText
} }
socket.emit('defenseFailed', victimData); socket.emit('defenseFailed', victimData);
return true; return true;
...@@ -383,22 +384,40 @@ WordSpace.attack = function(wordText, grade) ...@@ -383,22 +384,40 @@ WordSpace.attack = function(wordText, grade)
if (wordText != '') if (wordText != '')
{ {
console.log('attack ' + wordText + ', grade: ' + grade); console.log('attack ' + wordText + ', grade: ' + grade);
let toSend = [];
WordSpace.nameGroup.forEach(function(element) WordSpace.nameGroup.forEach(function(element)
{ {
//console.log(RoomData.myself); let targetId = element.ownerId;
let attackData = let sendIdx = toSend.findIndex(function(element)
{ {
roomNum: RoomData.roomId, return element.target === targetId;
attacker: RoomData.myself, });
target: element.ownerId, if (sendIdx !== -1)
text: wordText, {
grade: grade, toSend[sendIdx].multiple++;
isStrong: element.isStrong }
else
{
let attackData =
{
roomNum: RoomData.roomId,
attacker: RoomData.myself,
target: element.ownerId,
text: wordText,
grade: grade,
isStrong: element.isStrong,
multiple: 1
}
toSend.push(attackData);
} }
socket.emit('attack', attackData);
element.physicsObj.destroy(); element.physicsObj.destroy();
element.wordObj.destroy(); element.wordObj.destroy();
}); });
toSend.forEach(function(element)
{
socket.emit('attack', element);
});
WordSpace.generateWord.Name(ScenesData.gameScene, false, null); WordSpace.generateWord.Name(ScenesData.gameScene, false, null);
WordSpace.generateWord.Name(ScenesData.gameScene, false, null); WordSpace.generateWord.Name(ScenesData.gameScene, false, null);
WordSpace.nameGroup = []; WordSpace.nameGroup = [];
......
...@@ -129,10 +129,11 @@ io.on('connection', function(socket) ...@@ -129,10 +129,11 @@ io.on('connection', function(socket)
socket.on('defenseFailed', function(msg) socket.on('defenseFailed', function(msg)
{ {
socket.playerData.currentRoom.announceToTarget(msg.target, 'attackSucceed', msg); socket.playerData.currentRoom.announceToTarget(msg.target, 'attackSucceed', msg);
//let socket.playerData.playingData.lastAttacks.findIndex(function(element) let wrongCountIndex = socket.playerData.playingData.lastAttacks.findIndex(function(element)
//{ {
return (element.word === msg.word) && (element.attackerId === msg.target);
//}) });
if (wrongCountIndex !== -1) socket.playerData.playingData.lastAttacks[wrongCountIndex].wrongCount++;
}); });
socket.on('disconnect', function(reason) socket.on('disconnect', function(reason)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment