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

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

parent 94d2cd10
......@@ -70,7 +70,6 @@ GameServer.getRoomNumber = function()
} while (true)
}
class GameRoom
{
constructor()
......
......@@ -13,6 +13,8 @@ socket.on('alert', function(msg) // string errorcode
ScenesData.gameScene.add.text(640, 360, '승리!!!!', {fontSize: '30pt'})
.setPadding(5,5,5,5).setOrigin(0.5, 0.5).setDepth(11)
.setColor('#000000').setBackgroundColor('#ffffff');
gameOver();
}
//alert(toAlert);
});
......@@ -138,7 +140,7 @@ socket.on('attacked', function(msg) // object attackData
//console.log('attacked by ' + msg.attacker.nickname);
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);
//console.log(timeout);
});
......
......@@ -350,7 +350,8 @@ WordSpace.findWord = function(wordText)
{
roomNum: RoomData.roomId,
victim: RoomData.myself,
target: element.attacker.id
target: element.attacker.id,
word: element.wordText
}
socket.emit('defenseFailed', victimData);
return true;
......@@ -383,22 +384,40 @@ WordSpace.attack = function(wordText, grade)
if (wordText != '')
{
console.log('attack ' + wordText + ', grade: ' + grade);
let toSend = [];
WordSpace.nameGroup.forEach(function(element)
{
//console.log(RoomData.myself);
let attackData =
let targetId = element.ownerId;
let sendIdx = toSend.findIndex(function(element)
{
roomNum: RoomData.roomId,
attacker: RoomData.myself,
target: element.ownerId,
text: wordText,
grade: grade,
isStrong: element.isStrong
return element.target === targetId;
});
if (sendIdx !== -1)
{
toSend[sendIdx].multiple++;
}
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.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.nameGroup = [];
......
......@@ -129,10 +129,11 @@ io.on('connection', function(socket)
socket.on('defenseFailed', function(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)
......
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