Commit 4e3b26cf authored by 18손재민's avatar 18손재민 Committed by 18손재민

이제 얻은 호패를 모두 저장하고 공격시 이 호패를 가진 모든 플레이어에게 공격 단어를 보냄. 아직 서버는 안씀

parent 40bdb4af
var GameServer = GameServer || {}; var GameServer = GameServer || {};
GameServer.Phase = {READY: 0, START: 1, MAIN: 2, MUSIC: 3}; GameServer.Phase = {READY: 0, START: 1, MAIN: 2, MUSIC: 3};
GameServer.startCount = 2; GameServer.startCount = 1;
GameServer.currentPlayer = []; GameServer.currentPlayer = [];
GameServer.playingRoom = []; GameServer.playingRoom = [];
......
...@@ -156,6 +156,7 @@ class NameWord extends WordObject ...@@ -156,6 +156,7 @@ class NameWord extends WordObject
destroy() destroy()
{ {
WordSpace.attackGauge.add(this.wordTyping * 0.1); WordSpace.attackGauge.add(this.wordTyping * 0.1);
WordSpace.nameGroup.push(this);
super.destroy(); super.destroy();
} }
} }
...@@ -10,11 +10,11 @@ WordSpace.nextWordCode = 0; ...@@ -10,11 +10,11 @@ WordSpace.nextWordCode = 0;
WordSpace.totalWeight = 0; //현재 단어 무게 총합 WordSpace.totalWeight = 0; //현재 단어 무게 총합
WordSpace.totalWordNum = 0; WordSpace.totalWordNum = 0;
WordSpace.brainCapacity = 200; //수용 가능한 단어 무게 최대치 WordSpace.brainCapacity = 200; //수용 가능한 단어 무게 최대치
WordSpace.defeatTime = 5000;
WordSpace.gameTimer = null; //현재 게임 플레이 시간 타이머 WordSpace.gameTimer = null; //현재 게임 플레이 시간 타이머
WordSpace.isTimerOn = false; WordSpace.isTimerOn = false;
WordSpace.wordGroup = []; WordSpace.wordGroup = [];
WordSpace.nameGroup = [];
WordSpace.wordForcedGroup = []; WordSpace.wordForcedGroup = [];
WordSpace.wordPhysicsGroup = null; WordSpace.wordPhysicsGroup = null;
...@@ -22,10 +22,15 @@ WordSpace.GradeProb = [0.35, 0.6, 0.8]; ...@@ -22,10 +22,15 @@ WordSpace.GradeProb = [0.35, 0.6, 0.8];
WordSpace.Phase = {READY: 0, START: 1, MAIN: 2, MUSIC: 3}; WordSpace.Phase = {READY: 0, START: 1, MAIN: 2, MUSIC: 3};
WordSpace.CurrentPhase = WordSpace.Phase.READY; WordSpace.CurrentPhase = WordSpace.Phase.READY;
WordSpace.playerTyping = 0; WordSpace.playerTyping = 0;
WordSpace.PlayerTypingRate = 0; WordSpace.playerTypingRate = 0;
WordSpace.delay =
{
WordSpawn: 3000,
NameSpawn: 3000,
GameOver: 5000,
}
WordSpace.WordSpawnDelay = 3000;
WordSpace.NameSpawnDelay = 3000;
WordSpace.NameSpawnReduce = 1000; WordSpace.NameSpawnReduce = 1000;
WordSpace.gravityPoint = {x: 640, y: 300}; WordSpace.gravityPoint = {x: 640, y: 300};
...@@ -69,10 +74,10 @@ WordSpace.nameCycle = new Cycle(function() ...@@ -69,10 +74,10 @@ WordSpace.nameCycle = new Cycle(function()
//이건 뭐지 //이건 뭐지
WordSpace.varAdjustCycle = new Cycle(function() WordSpace.varAdjustCycle = new Cycle(function()
{ {
//나중에는 메세지 분석해서 Phase랑 PlayerTypingRate 받겠지만 일단 이렇게 해둠 //나중에는 메세지 분석해서 Phase랑 playerTypingRate 받겠지만 일단 이렇게 해둠
//WordSpace.GetPhase(); //WordSpace.GetPhase();
//WordSpace.GetPlayerTypingRate(); //WordSpace.GetPlayerTypingRate();
WordSpace.AdjustVarByPhase(WordSpace.PlayerTypingRate, WordSpace.CurrentPhase); WordSpace.AdjustVarByPhase(WordSpace.playerTypingRate, WordSpace.CurrentPhase);
}); });
WordSpace.getSpawnPoint = function(_lenRate) WordSpace.getSpawnPoint = function(_lenRate)
...@@ -104,8 +109,8 @@ WordSpace.AdjustVarByPhase = function(typingRate, phase) ...@@ -104,8 +109,8 @@ WordSpace.AdjustVarByPhase = function(typingRate, phase)
{ {
if(phase == WordSpace.Phase.READY) if(phase == WordSpace.Phase.READY)
{ {
WordSpace.WordSpawnDelay = 10000; WordSpace.delay.WordSpawn = 10000;
WordSpace.NameSpawnDelay = 10000; WordSpace.delay.NameSpawn = 10000;
WordSpace.NameSpawnReduce = 0; WordSpace.NameSpawnReduce = 0;
WordSpace.GradeProb[0] = 1; WordSpace.GradeProb[0] = 1;
WordSpace.GradeProb[1] = 1; WordSpace.GradeProb[1] = 1;
...@@ -113,8 +118,8 @@ WordSpace.AdjustVarByPhase = function(typingRate, phase) ...@@ -113,8 +118,8 @@ WordSpace.AdjustVarByPhase = function(typingRate, phase)
} }
else if(phase == WordSpace.Phase.START) else if(phase == WordSpace.Phase.START)
{ {
WordSpace.WordSpawnDelay = 3000; WordSpace.delay.WordSpawn = 3000;
WordSpace.NameSpawnDelay = 6000; WordSpace.delay.NameSpawn = 6000;
WordSpace.NameSpawnReduce = 1000; WordSpace.NameSpawnReduce = 1000;
WordSpace.GradeProb[0] = 0.35; WordSpace.GradeProb[0] = 0.35;
WordSpace.GradeProb[1] = 1 - 0.4 * typingRate; WordSpace.GradeProb[1] = 1 - 0.4 * typingRate;
...@@ -122,8 +127,8 @@ WordSpace.AdjustVarByPhase = function(typingRate, phase) ...@@ -122,8 +127,8 @@ WordSpace.AdjustVarByPhase = function(typingRate, phase)
} }
else if(phase == WordSpace.Phase.MAIN) else if(phase == WordSpace.Phase.MAIN)
{ {
WordSpace.WordSpawnDelay = 3000 - typingRate * 1000; WordSpace.delay.WordSpawn = 3000 - typingRate * 1000;
WordSpace.NameSpawnDelay = 6000; WordSpace.delay.NameSpawn = 6000;
WordSpace.NameSpawnReduce = 1000; WordSpace.NameSpawnReduce = 1000;
WordSpace.GradeProb[0] = 0.4 - 0.4 * typingRate; WordSpace.GradeProb[0] = 0.4 - 0.4 * typingRate;
WordSpace.GradeProb[1] = 0.8 - 0.4 * typingRate; WordSpace.GradeProb[1] = 0.8 - 0.4 * typingRate;
...@@ -131,15 +136,15 @@ WordSpace.AdjustVarByPhase = function(typingRate, phase) ...@@ -131,15 +136,15 @@ WordSpace.AdjustVarByPhase = function(typingRate, phase)
} }
else if(phase == WordSpace.Phase.MUSIC) else if(phase == WordSpace.Phase.MUSIC)
{ {
WordSpace.WordSpawnDelay = 1500; WordSpace.delay.WordSpawn = 1500;
WordSpace.NameSpawnDelay = 4000; WordSpace.delay.NameSpawn = 4000;
WordSpace.NameSpawnReduce = 500; WordSpace.NameSpawnReduce = 500;
WordSpace.GradeProb[0] = 0.2 - 0.2 * typingRate; WordSpace.GradeProb[0] = 0.2 - 0.2 * typingRate;
WordSpace.GradeProb[1] = 0.8 - 0.5 * typingRate; WordSpace.GradeProb[1] = 0.8 - 0.5 * typingRate;
WordSpace.GradeProb[2] = 0.9 - 0.2 * typingRate; WordSpace.GradeProb[2] = 0.9 - 0.2 * typingRate;
} }
WordSpace.wordCycle.resetCycle(WordSpace.gameSceneForTest, WordSpace.WordSpawnDelay, WordSpace.wordCycle.currentCycle.getElapsed(), true); WordSpace.wordCycle.resetCycle(WordSpace.gameSceneForTest, WordSpace.delay.WordSpawn, WordSpace.wordCycle.currentCycle.getElapsed(), true);
WordSpace.nameCycle.resetCycle(WordSpace.gameSceneForTest, WordSpace.NameSpawnDelay, WordSpace.nameCycle.currentCycle.getElapsed(), true); WordSpace.nameCycle.resetCycle(WordSpace.gameSceneForTest, WordSpace.delay.NameSpawn, WordSpace.nameCycle.currentCycle.getElapsed(), true);
} }
WordSpace.attackGauge = WordSpace.attackGauge =
...@@ -281,7 +286,7 @@ WordSpace.setGameOverTimer = function() ...@@ -281,7 +286,7 @@ WordSpace.setGameOverTimer = function()
if(this.brainCapacity < this.totalWeight && !this.isTimerOn) if(this.brainCapacity < this.totalWeight && !this.isTimerOn)
{ {
this.isTimerOn = true; this.isTimerOn = true;
WordSpace.gameOverCycle.resetCycle(WordSpace.gameSceneForTest, WordSpace.defeatTime, 0, false); WordSpace.gameOverCycle.resetCycle(WordSpace.gameSceneForTest, WordSpace.delay.gameOver, 0, false);
console.log('Game over timer On'); console.log('Game over timer On');
} }
} }
...@@ -310,12 +315,12 @@ WordSpace.findWord = function(wordText) ...@@ -310,12 +315,12 @@ WordSpace.findWord = function(wordText)
if (weightest.wordWeight < element.wordWeight) weightest = element; if (weightest.wordWeight < element.wordWeight) weightest = element;
}); });
weightest.destroy(); weightest.destroy();
WordSpace.nameCycle.resetCycle(WordSpace.gameSceneForTest, WordSpace.NameSpawnDelay, WordSpace.nameCycle.currentCycle.getElapsed() + WordSpace.NameSpawnReduce, true); WordSpace.nameCycle.resetCycle(WordSpace.gameSceneForTest, WordSpace.delay.NameSpawn, WordSpace.nameCycle.currentCycle.getElapsed() + WordSpace.NameSpawnReduce, true);
while(WordSpace.totalWordNum < 5) while(WordSpace.totalWordNum < 5)
{ {
WordSpace.genWordByProb(WordSpace.gameSceneForTest); WordSpace.genWordByProb(WordSpace.gameSceneForTest);
WordSpace.wordCycle.resetCycle(WordSpace.gameSceneForTest, WordSpace.WordSpawnDelay, 0); WordSpace.wordCycle.resetCycle(WordSpace.gameSceneForTest, WordSpace.delay.WordSpawn, 0);
} }
WordSpace.setPlayerTyping.add(wordText); WordSpace.setPlayerTyping.add(wordText);
} }
...@@ -359,7 +364,12 @@ WordSpace.attack = function(wordText, grade) ...@@ -359,7 +364,12 @@ WordSpace.attack = function(wordText, grade)
{ {
console.log('attack ' + wordText + ', grade: ' + grade); console.log('attack ' + wordText + ', grade: ' + grade);
//호패에 따른 isStrong 구분 필요함 //호패에 따른 isStrong 구분 필요함
WordSpace.generateWord.Attack(WordSpace.gameSceneForTest, wordText, grade, playerName, true); WordSpace.nameGroup.forEach(function(element)
{
WordSpace.generateWord.Attack(WordSpace.gameSceneForTest, wordText, grade, playerName, element.isStrong);
});
WordSpace.nameGroup = [];
//WordSpace.generateWord(WordSpace.gameSceneForTest, wordText, grade, undefined, true); // for test //WordSpace.generateWord(WordSpace.gameSceneForTest, wordText, grade, undefined, true); // for test
// 이부분에서 게이지에 따라 급수 결정 // 이부분에서 게이지에 따라 급수 결정
// 이걸 서버로 공격을 보내야 함 // 이걸 서버로 공격을 보내야 함
......
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