Commit 8c831d63 authored by 18신대성's avatar 18신대성

Merge branch 'wordspace'

# Conflicts:
#	js/WordObject.js
#	js/WordSpace.js
parents 3226ce18 9a631207
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8"/> <meta charset="utf-8"/>
<script src="/socket.io/socket.io.js"></script> <script src="/socket.io/socket.io.js"></script>
<script src="js/phaser.js"></script> <script src="js/phaser.js"></script>
<script src="js/Background.js"></script>] <script src="js/Background.js"></script>
<script src="js/Input.js"></script> <script src="js/Input.js"></script>
<script src="js/WordSpace.js"></script> <script src="js/WordSpace.js"></script>
<script src="js/WordObject.js"></script> <script src="js/WordObject.js"></script>
......
This diff is collapsed.
...@@ -31,6 +31,7 @@ class WordObject ...@@ -31,6 +31,7 @@ class WordObject
destroy() destroy()
{ {
console.log(this.generationCode + ': ' + this.wordText + ' destroyed');
this.wordObj.destroy(); this.wordObj.destroy();
const groupIdx = WordSpace.wordGroup.findIndex(function(item) {return this.isEqualObject(item.generationCode)}, this); const groupIdx = WordSpace.wordGroup.findIndex(function(item) {return this.isEqualObject(item.generationCode)}, this);
if (groupIdx > -1) WordSpace.wordGroup.splice(groupIdx, 1); if (groupIdx > -1) WordSpace.wordGroup.splice(groupIdx, 1);
...@@ -49,5 +50,5 @@ class WordObject ...@@ -49,5 +50,5 @@ class WordObject
getWordWeight() { return this.wordWeight; } getWordWeight() { return this.wordWeight; }
isEqualObject(_generationCode) { return _generationCode === this._generationCode; } isEqualObject(_generationCode) { return _generationCode === this.generationCode; }
} }
\ No newline at end of file
...@@ -15,26 +15,65 @@ WordSpace.wordPhysicsGroup = null; ...@@ -15,26 +15,65 @@ WordSpace.wordPhysicsGroup = null;
WordSpace.gravityPoint = {x: 400, y: 300}; WordSpace.gravityPoint = {x: 400, y: 300};
WordSpace.wordCycle = null; WordSpace.attackGauge =
WordSpace.resetCycle = function(scene, _delay)
{ {
var option = value: 0,
add: function(plus)
{ {
delay: _delay, if (this.value + plus > 11) this.value = 11;
callback: function() else this.value += plus;
{ this.text.setText('게이지: ' + this.value.toFixed(1));
WordSpace.generateWord(this) },
}, sub: function(minus)
callbackScope: scene,
loop: true
};
if (this.wordCycle != null)
{ {
this.wordCycle = this.wordCycle.reset(option); if (this.value - minus < 0) this.value = 0;
} else this.value -= minus;
else this.text.setText('게이지: ' + this.value.toFixed(1));
},
resetValue: function() {this.value = 0;},
cutValue: function(cutOut) {this.value *= (1-cutOut);},
resetCycle: function(scene)
{ {
this.wordCycle = scene.time.addEvent(option); var option =
{
delay: 300,
callback: function()
{
WordSpace.attackGauge.sub(0.1);
},
loop: true
};
this.currentCycle = scene.time.addEvent(option);
this.text = scene.add.text(100,100,'게이지: ' + this.value.toFixed(1)).setColor('#ffffff');
},
pauseCycle: function(bool) {this.currentCycle.paused = bool;}
// showValue: 아래쪽에 바의 길이로 게이지 표시, 색으로 게이지의 강도 표현
}
WordSpace.wordCycle =
{
currentCycle: null,
resetCycle: function(scene, _delay)
{
var option =
{
delay: _delay,
callback: function()
{
WordSpace.generateWord(this)
},
callbackScope: scene,
loop: true
};
if (this.currentCycle != null)
{
this.currentCycle = this.currentCycle.reset(option);
}
else
{
this.currentCycle = scene.time.addEvent(option);
}
} }
} }
...@@ -59,8 +98,9 @@ WordSpace.generateWord = function(scene) ...@@ -59,8 +98,9 @@ WordSpace.generateWord = function(scene)
function gameOver() function gameOver()
{ {
this.wordCycle.paused = true; this.wordCycle.currentCycle.paused = true;
//To Do //To Do
console.log('defeat');
} }
//게임 오버 판정을 위한 타이머 //게임 오버 판정을 위한 타이머
...@@ -72,4 +112,24 @@ WordSpace.setGameOverTimer = function() ...@@ -72,4 +112,24 @@ WordSpace.setGameOverTimer = function()
this.gameOverTimer = setTimeout(gameOver.bind(this), this.defeatTime); this.gameOverTimer = setTimeout(gameOver.bind(this), this.defeatTime);
isTimerOn = true; isTimerOn = true;
} }
}
WordSpace.findWord = function(word)
{
var found = WordSpace.wordGroup.find(function(element)
{
return Input.isEqual(word, element.wordText);
});
if (found != undefined)
{
switch(found.wordGrade) // 이부분 나중에 더 효율적으로 바꿀수있지 않을까
{
case 0: WordSpace.attackGauge.add(2.5); break;
case 1: WordSpace.attackGauge.add(1.5); break;
case 2: WordSpace.attackGauge.add(0.9); break;
case 3: WordSpace.attackGauge.add(0.5); break;
default: console.log('[ERR] wrong grade of word'); break;
}
found.destroy();
}
} }
\ No newline at end of file
...@@ -31,7 +31,8 @@ function create() ...@@ -31,7 +31,8 @@ function create()
BackGround.drawBrain(this); BackGround.drawBrain(this);
Input.inputField.generate(this); Input.inputField.generate(this);
WordSpace.wordPhysicsGroup = this.physics.add.group(); WordSpace.wordPhysicsGroup = this.physics.add.group();
WordSpace.resetCycle(this, 2000); WordSpace.wordCycle.resetCycle(this, 2000);
WordSpace.attackGauge.resetCycle(this);
} }
function update() function update()
......
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