Commit 7d728b9e authored by 18손재민's avatar 18손재민

중량단어 구현함

parent a6e7dd53
...@@ -154,7 +154,7 @@ socket.on('attacked', function(msg) // object attackData ...@@ -154,7 +154,7 @@ socket.on('attacked', function(msg) // object attackData
let attackedEvent = new Cycle(function() let attackedEvent = new Cycle(function()
{ {
if(!WordSpace.isInvincible) if(!WordSpace.isInvincible)
for (let i = 0; i < msg.multiple; i++) 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, msg.isHeavy);
attackedEvent.currentCycle.destroy(); attackedEvent.currentCycle.destroy();
WordSpace.attackedEvents.splice(WordSpace.attackedEvents.findIndex(function(element) { WordSpace.attackedEvents.splice(WordSpace.attackedEvents.findIndex(function(element) {
return element.cert === (msg.text + msg.attacker); return element.cert === (msg.text + msg.attacker);
......
...@@ -154,13 +154,16 @@ var gameScene = new Phaser.Class( ...@@ -154,13 +154,16 @@ var gameScene = new Phaser.Class(
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.nameList); WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.nameList);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.invincible); WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.invincible);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.invincible); WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.invincible);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.invincible); WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.charge);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.invincible); WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.charge);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.invincible); WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.clean);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.invincible); WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.clean);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.heavy);
WordSpace.generateWord.Item(ScenesData.gameScene, Enums.item.heavy);
// for test // for test
WordSpace.attackGauge.add(11); WordSpace.attackGauge.add(11);
/*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.generateWord.Name(ScenesData.gameScene, false, null);
WordSpace.generateWord.Name(ScenesData.gameScene, false, null); WordSpace.generateWord.Name(ScenesData.gameScene, false, null);
...@@ -170,8 +173,7 @@ var gameScene = new Phaser.Class( ...@@ -170,8 +173,7 @@ var gameScene = new Phaser.Class(
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.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.generateWord.Name(ScenesData.gameScene, false, null);
}, },
update: function() update: function()
......
...@@ -137,13 +137,14 @@ class NormalWord extends WordObject ...@@ -137,13 +137,14 @@ class NormalWord extends WordObject
class AttackWord extends WordObject class AttackWord extends WordObject
{ {
constructor(text, _wordGrade, _playerData, _isStrong, _isCountable = true, lenRate) constructor(text, _wordGrade, _playerData, _isStrong, _isCountable = true, _isHeavy = false, lenRate)
{ {
super(text); super(text);
this.wordGrade = _wordGrade; this.wordGrade = _wordGrade;
this.wordWeight = _isStrong ? WordReader.strongAttackWeight[3 - this.wordGrade] : WordReader.attackWeight[3 - this.wordGrade]; this.wordWeight = _isStrong ? WordReader.strongAttackWeight[3 - this.wordGrade] : WordReader.attackWeight[3 - this.wordGrade];
if(WordReader.getWordTyping(_playerData.nickname) > 9) if(WordReader.getWordTyping(_playerData.nickname) > 9)
this.wordWeight += this.wordWeight * 0.2 * (WordReader.getWordTyping(_playerData.nickname) - 9); this.wordWeight += this.wordWeight * 0.2 * (WordReader.getWordTyping(_playerData.nickname) - 9);
if(_isHeavy) this.wordWeight *= 2;
this.attacker = _playerData; this.attacker = _playerData;
if(!_isCountable) this.counterTime = 0; if(!_isCountable) this.counterTime = 0;
else this.counterTime = WordSpace.gameTimer.now + 1000 * (this.wordTyping <= (5 - _wordGrade) * 2.5 ? this.wordTyping / (Math.max(200, WordSpace.playerTyping) / 60) * 1.5 : else this.counterTime = WordSpace.gameTimer.now + 1000 * (this.wordTyping <= (5 - _wordGrade) * 2.5 ? this.wordTyping / (Math.max(200, WordSpace.playerTyping) / 60) * 1.5 :
...@@ -295,6 +296,7 @@ class ItemWord extends WordObject ...@@ -295,6 +296,7 @@ class ItemWord extends WordObject
destroy() destroy()
{ {
WordSpace.attackGauge.add(0.5); WordSpace.attackGauge.add(0.5);
super.destroy();
switch(this.itemType) switch(this.itemType)
{ {
case Enums.item.invincible: case Enums.item.invincible:
...@@ -322,8 +324,11 @@ class ItemWord extends WordObject ...@@ -322,8 +324,11 @@ class ItemWord extends WordObject
WordSpace.attackGauge.add(11); WordSpace.attackGauge.add(11);
break; break;
case Enums.item.clean: case Enums.item.clean:
let tempLenth = WordSpace.wordGroup.length * 0.3;
for(let i = 0; i < tempLenth; i++) WordSpace.wordGroup[i].destroy();
break; break;
case Enums.item.heavy: case Enums.item.heavy:
WordSpace.isHeavy = true;
break; break;
case Enums.item.dark: case Enums.item.dark:
break; break;
...@@ -331,6 +336,5 @@ class ItemWord extends WordObject ...@@ -331,6 +336,5 @@ class ItemWord extends WordObject
console.log("Item type is inappropriate. Item type : " + this.itemType); console.log("Item type is inappropriate. Item type : " + this.itemType);
break; break;
} }
super.destroy();
} }
} }
\ No newline at end of file
...@@ -13,6 +13,7 @@ WordSpace.brainCapacity = 200; //수용 가능한 단어 무게 최대치 ...@@ -13,6 +13,7 @@ WordSpace.brainCapacity = 200; //수용 가능한 단어 무게 최대치
WordSpace.gameTimer = null; //현재 게임 플레이 시간 타이머 WordSpace.gameTimer = null; //현재 게임 플레이 시간 타이머
WordSpace.isTimerOn = false; WordSpace.isTimerOn = false;
WordSpace.isInvincible = false; WordSpace.isInvincible = false;
WordSpace.isHeavy = false;
WordSpace.pyeongminAnims = []; WordSpace.pyeongminAnims = [];
WordSpace.wordGroup = []; WordSpace.wordGroup = [];
...@@ -235,9 +236,9 @@ WordSpace.generateWord = ...@@ -235,9 +236,9 @@ WordSpace.generateWord =
WordSpace.pushWord(scene, word, lenRate); WordSpace.pushWord(scene, word, lenRate);
return word; return word;
}, },
Attack: function(scene, wordText, grade, attacker, isStrong, isCountable, lenRate) Attack: function(scene, wordText, grade, attacker, isStrong, isCountable, isHeavy, lenRate)
{ {
word = new AttackWord(wordText, grade, attacker, isStrong, isCountable); word = new AttackWord(wordText, grade, attacker, isStrong, isCountable, isHeavy);
WordSpace.pushWord(scene, word, lenRate); WordSpace.pushWord(scene, word, lenRate);
return word; return word;
}, },
...@@ -421,6 +422,7 @@ WordSpace.attack = function(wordText, grade) ...@@ -421,6 +422,7 @@ WordSpace.attack = function(wordText, grade)
text: wordText, text: wordText,
grade: grade, grade: grade,
isStrong: element.isStrong, isStrong: element.isStrong,
isHeavy: WordSpace.isHeavy,
multiple: 1 multiple: 1
} }
WordSpace.makeAttackPaper(ScenesData.gameScene, RoomData.myself.position, target.position); WordSpace.makeAttackPaper(ScenesData.gameScene, RoomData.myself.position, target.position);
...@@ -441,6 +443,7 @@ WordSpace.attack = function(wordText, grade) ...@@ -441,6 +443,7 @@ WordSpace.attack = function(wordText, grade)
WordSpace.attackGauge.resetValue(); WordSpace.attackGauge.resetValue();
WordSpace.setPlayerTyping.add(wordText); WordSpace.setPlayerTyping.add(wordText);
RoomData.myself.playerImage.play(WordSpace.pyeongminAnims[Enums.characterAnim.throw]); RoomData.myself.playerImage.play(WordSpace.pyeongminAnims[Enums.characterAnim.throw]);
WordSpace.isHeavy = false;
} }
else WordSpace.attackGauge.cutValue(0.3); else WordSpace.attackGauge.cutValue(0.3);
Input.maxInput = 6; Input.maxInput = 6;
......
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