Commit d29662e9 authored by 18신대성's avatar 18신대성

Merge branch 'word'

# Conflicts:
#	index.html
#	js/Word.js
#	js/main.js
parents 6e5d0421 2a3a5c27
...@@ -2,10 +2,17 @@ ...@@ -2,10 +2,17 @@
<html> <html>
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<<<<<<< HEAD
<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/Word.js"></script> <script src="js/Word.js"></script>
=======
<script src="script/phaser.js"></script>
<script src="script/Background.js"></script>
<script src="script/WordSpace.js"></script>
<script src="script/WordObject.js"></script>
>>>>>>> word
</head> </head>
<body> <body>
<script src="js/Main.js"></script> <script src="js/Main.js"></script>
......
class WordObject
{
constructor(text)
{
this.wordText = text;
this.wordTyping = (function(_wordText)
{
var temp = 0;
for(var i = 0; i < _wordText.length; i++)
{
temp += firstSound(_wordText.charAt(i)) + middleSound(_wordText.charAt(i)) + lastSound(_wordText.charAt(i));
}
return temp;
})(this.wordText);
this.wordGrade = 2 < this.wordTyping && this.wordTyping < 6 ? 3 :
7 < this.wordTyping && this.wordTyping < 11 ? 2 :
12 < this.wordTyping && this.wordTyping < 16 ? 1 : 0;
this.wordWeight = (function(_wordGrade)
{
var temp = 0;
temp = _wordGrade == 3 ? 3 :
_wordGrade == 2 ? 5 :
_wordGrade == 1 ? 7 : 10;
return temp;
})(this.wordGrade);
//alert("wordTyping : " + this.wordTyping + '\n' + "wordGrade : " + this.wordGrade + '\n' + "wordWeight : " + this.wordWeight + '\n');
}
generate(scene)
{
var randomX = Phaser.Math.Between(100, 500);
this.physicsObj = scene.physics.add.sprite(randomX, 100, 'wordBackground').setScale(0.5);
this.wordObj = scene.add.text(randomX, 100, this.wordText, {fontFamily: '"궁서", 궁서체, serif'}).setColor('#000000');
this.wordObj.setOrigin(0.5,0.5);
}
attract(wordSpeed)
{
var dist = Phaser.Math.Distance.Between(this.physicsObj.x, this.physicsObj.y, WordSpace.gravityPoint.x, WordSpace.gravityPoint.y);
var angle = Phaser.Math.Angle.Between(this.physicsObj.x, this.physicsObj.y, WordSpace.gravityPoint.x, WordSpace.gravityPoint.y);
this.physicsObj.setVelocity(dist * Math.cos(angle) * wordSpeed, dist * Math.sin(angle) * wordSpeed);
this.wordObj.setPosition(this.physicsObj.x, this.physicsObj.y);
}
getWordWeight()
{
return this.wordWeight;
}
}
//***********ToDo*************
WordObject.isEqual(inputWord)
{
if(inputWord === this.wordText)
{
this.destroy();
}
}
//****************************
function firstSound(charText)
{
var r = parseInt(((charText.charCodeAt(0) - parseInt('0xac00',16)) /28) / 21);
switch(r)
{
case 1 || 4 || 8 || 19 || 13: return 1.3;
default: return 1;
}
/*var t = String.fromCharCode(r + parseInt('0x1100',16));
console.log("first sound : " + r + " " + t);
return r;*/
}
function middleSound(charText)
{
var r = parseInt(((charText.charCodeAt(0)- parseInt('0xac00',16)) / 28) % 21);
switch(r)
{
case 3 || 7: return 1.3;
case 9 || 10 || 11 || 14 || 15 || 16 || 19: return 2;
default: return 1;
}
/*var t = String.fromCharCode(r + parseInt('0x1161',16));
console.log("middle sound : " + r + " " + t);
return r;*/
}
function lastSound(charText)
{
var r = parseInt((charText.charCodeAt(0) - parseInt('0xac00',16)) % 28);
switch(r)
{
case 2 || 20: return 1.3;
case 3 || 5 || 6 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 18: return 2;
case 0: return 0;
default: return 1;
}
/*var t = String.fromCharCode(r + parseInt('0x11A8') -1);
console.log("last sound : " + r + " " + t);
return r;*/
}
\ No newline at end of file
var WordSpace = WordSpace || {};
WordSpace.isImageLoaded = false;
WordSpace.wordGroup = null;
WordSpace.wordPhysicsGroup = null;
WordSpace.gravityPoint = {x: 400, y: 300};
WordSpace.loadImage = function(scene)
{
if (!this.isImageLoaded)
{
scene.load.image('wordBackground', 'assets/wordBackground.png');
}
}
\ No newline at end of file
...@@ -18,26 +18,51 @@ var config = { ...@@ -18,26 +18,51 @@ var config = {
var game = new Phaser.Game(config); var game = new Phaser.Game(config);
var tec;
// load assets // load assets
function preload() function preload()
{ {
BackGround.loadImage(this); BackGround.loadImage(this);
WordSpace.loadImage(this);
} }
function create() function create()
{ {
BackGround.drawBrain(this); BackGround.drawBrain(this);
var word = new Word('살려주세요'); WordSpace.wordGroup = [];
WordSpace.wordPhysicsGroup = this.physics.add.group();
this.time.addEvent(
{
delay: 2000,
callback: function()
{
word = new WordObject("솽젠커");
word.generate(this); word.generate(this);
WordSpace.wordGroup.push(word);
this.physics.add.collider(word.physicsObj, WordSpace.wordPhysicsGroup);
WordSpace.wordPhysicsGroup.add(word.physicsObj);
},
callbackScope: this,
repeat: 10
}
);
} }
function update() function update()
{ {
var socket = io.connect();
socket.on('hi', function(msg) {
console.log(msg);
});
socket.emit('hello');
for(i = 0; i < WordSpace.wordGroup.length; i++)
{
WordSpace.wordGroup[i].attract(0.3);
}
} }
var socket = io.connect();
socket.on('hi', function(msg) {
console.log(msg);
});
socket.emit('hello');
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