Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sejong25
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Tear of Sejong
sejong25
Commits
52bea875
Commit
52bea875
authored
Aug 22, 2019
by
18손재민
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
플레이어 스킨 바꾸기 구현 wip. 현재 스킨에 번호를 부여해서 로드하게 했음
parent
bfb49672
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
99 additions
and
79 deletions
+99
-79
GameServer.js
GameServer.js
+2
-2
Background.js
js/Background.js
+4
-2
Client.js
js/Client.js
+5
-2
Enums.js
js/Enums.js
+2
-1
FirebaseClient.js
js/FirebaseClient.js
+1
-1
ResourceLoader.js
js/ResourceLoader.js
+56
-42
ScenesData.js
js/ScenesData.js
+3
-2
WordObject.js
js/WordObject.js
+13
-17
WordSpace.js
js/WordSpace.js
+12
-9
server.js
server.js
+1
-1
No files found.
GameServer.js
View file @
52bea875
...
@@ -82,7 +82,7 @@ class GameRoom
...
@@ -82,7 +82,7 @@ class GameRoom
{
{
this
.
roomId
=
GameServer
.
getRoomNumber
();
this
.
roomId
=
GameServer
.
getRoomNumber
();
this
.
roomIndex
=
-
1
;
this
.
roomIndex
=
-
1
;
this
.
startCount
=
5
;
this
.
startCount
=
2
;
this
.
maxPlayer
=
100
;
this
.
maxPlayer
=
100
;
this
.
nextRank
=
100
;
this
.
nextRank
=
100
;
...
@@ -143,7 +143,7 @@ class GameRoom
...
@@ -143,7 +143,7 @@ class GameRoom
{
{
if
(
this
.
currentPhase
===
GameServer
.
Phase
.
READY
)
if
(
this
.
currentPhase
===
GameServer
.
Phase
.
READY
)
{
{
this
.
endTime
=
Date
.
now
()
+
30
000
;
// 방 대기 시간
this
.
endTime
=
Date
.
now
()
+
1
000
;
// 방 대기 시간
this
.
announceToRoom
(
'
setRoomCount
'
,
this
.
announceToRoom
(
'
setRoomCount
'
,
{
{
isEnable
:
true
,
endTime
:
this
.
endTime
,
playerCount
:
this
.
currentPlayer
.
length
,
isEnable
:
true
,
endTime
:
this
.
endTime
,
playerCount
:
this
.
currentPlayer
.
length
,
...
...
js/Background.js
View file @
52bea875
...
@@ -13,14 +13,16 @@ BackGround.otherCharacters = [];
...
@@ -13,14 +13,16 @@ BackGround.otherCharacters = [];
BackGround
.
drawCharacter
=
function
(
scene
)
BackGround
.
drawCharacter
=
function
(
scene
)
{
{
RoomData
.
myself
.
playerImage
=
scene
.
add
.
sprite
(
game
.
config
.
width
/
2
,
game
.
config
.
height
*
41
/
48
,
'
pyeongminWrite
'
).
setScale
(
0.45
).
setDepth
(
5
);
RoomData
.
myself
.
playerImage
=
scene
.
add
.
sprite
(
game
.
config
.
width
/
2
,
game
.
config
.
height
*
41
/
48
,
Enums
.
characterSkin
[
WordSpace
.
myCharacterSkin
]
+
'
Write
'
)
.
setScale
(
0.45
).
setDepth
(
5
);
RoomData
.
myself
.
position
=
new
Phaser
.
Math
.
Vector2
(
RoomData
.
myself
.
playerImage
.
x
,
RoomData
.
myself
.
playerImage
.
y
);
RoomData
.
myself
.
position
=
new
Phaser
.
Math
.
Vector2
(
RoomData
.
myself
.
playerImage
.
x
,
RoomData
.
myself
.
playerImage
.
y
);
BackGround
.
characterPos
=
BackGround
.
characterPos
.
sort
(
function
(){
return
0.5
-
Math
.
random
()});
BackGround
.
characterPos
=
BackGround
.
characterPos
.
sort
(
function
(){
return
0.5
-
Math
.
random
()});
RoomData
.
players
.
forEach
(
function
(
element
){
RoomData
.
players
.
forEach
(
function
(
element
){
if
(
element
.
id
!=
RoomData
.
myself
.
id
)
if
(
element
.
id
!=
RoomData
.
myself
.
id
)
{
{
element
.
position
=
BackGround
.
characterPos
.
pop
();
element
.
position
=
BackGround
.
characterPos
.
pop
();
element
.
playerImage
=
scene
.
add
.
sprite
(
element
.
position
.
x
,
element
.
position
.
y
,
'
pyeongminWrite
'
).
setScale
(
0.315
).
setDepth
(
5
);
element
.
playerImage
=
scene
.
add
.
sprite
(
element
.
position
.
x
,
element
.
position
.
y
,
Enums
.
characterSkin
[
WordSpace
.
myCharacterSkin
]
+
'
Write
'
)
.
setScale
(
0.315
).
setDepth
(
5
);
element
.
playerImage
.
flipX
=
element
.
position
.
x
<
game
.
config
.
width
/
2
?
true
:
false
;
element
.
playerImage
.
flipX
=
element
.
position
.
x
<
game
.
config
.
width
/
2
?
true
:
false
;
element
.
nicknameText
=
scene
.
add
.
text
(
element
.
position
.
x
,
element
.
position
.
y
-
90
,
element
.
nickname
)
element
.
nicknameText
=
scene
.
add
.
text
(
element
.
position
.
x
,
element
.
position
.
y
-
90
,
element
.
nickname
)
.
setOrigin
(
0.5
,
0.5
).
setColor
(
'
#000000
'
).
setPadding
(
0.5
,
0.5
,
0.5
,
0.5
).
setDepth
(
5.1
);
.
setOrigin
(
0.5
,
0.5
).
setColor
(
'
#000000
'
).
setPadding
(
0.5
,
0.5
,
0.5
,
0.5
).
setDepth
(
5.1
);
...
...
js/Client.js
View file @
52bea875
...
@@ -223,7 +223,7 @@ socket.on('defeat', function(msg) // object player
...
@@ -223,7 +223,7 @@ socket.on('defeat', function(msg) // object player
let
victim
=
RoomData
.
findPlayer
(
msg
.
id
);
let
victim
=
RoomData
.
findPlayer
(
msg
.
id
);
RoomData
.
aliveCount
--
;
RoomData
.
aliveCount
--
;
victim
.
playerImage
.
play
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
gameOver
]);
victim
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
]
[
Enums
.
characterAnim
.
gameOver
]);
if
(
msg
.
lastAttack
!=
null
)
if
(
msg
.
lastAttack
!=
null
)
...
@@ -313,6 +313,7 @@ socket.on('defeat', function(msg) // object player
...
@@ -313,6 +313,7 @@ socket.on('defeat', function(msg) // object player
{
{
var
keys
=
Object
.
keys
(
Enums
.
item
);
var
keys
=
Object
.
keys
(
Enums
.
item
);
WordSpace
.
generateWord
.
Item
(
ScenesData
.
gameScene
,
Enums
.
item
[
keys
[
keys
.
length
*
Math
.
random
()
<<
0
]]);
WordSpace
.
generateWord
.
Item
(
ScenesData
.
gameScene
,
Enums
.
item
[
keys
[
keys
.
length
*
Math
.
random
()
<<
0
]]);
Audio
.
playSound
(
ScenesData
.
gameScene
,
'
getItem
'
);
RoomData
.
myself
.
killCount
++
;
RoomData
.
myself
.
killCount
++
;
}
}
}
}
...
@@ -392,6 +393,7 @@ socket.on('attackSucceed', function(msg)
...
@@ -392,6 +393,7 @@ socket.on('attackSucceed', function(msg)
{
{
//console.log('client');
//console.log('client');
let
tempWord
=
WordSpace
.
generateWord
.
Name
(
ScenesData
.
gameScene
,
true
,
RoomData
.
findPlayer
(
msg
.
victimId
));
let
tempWord
=
WordSpace
.
generateWord
.
Name
(
ScenesData
.
gameScene
,
true
,
RoomData
.
findPlayer
(
msg
.
victimId
));
tempWord
.
instantiate
(
ScenesData
.
gameScene
);
let
victimPos
=
RoomData
.
findPlayer
(
msg
.
victimId
).
position
;
let
victimPos
=
RoomData
.
findPlayer
(
msg
.
victimId
).
position
;
tempWord
.
physicsObj
.
setPosition
(
victimPos
.
x
,
victimPos
.
y
);
tempWord
.
physicsObj
.
setPosition
(
victimPos
.
x
,
victimPos
.
y
);
tempWord
.
wordObj
.
setPosition
(
tempWord
.
physicsObj
.
x
,
tempWord
.
physicsObj
.
y
);
tempWord
.
wordObj
.
setPosition
(
tempWord
.
physicsObj
.
x
,
tempWord
.
physicsObj
.
y
);
...
@@ -415,9 +417,10 @@ var gameEndMenu = function(isWin)
...
@@ -415,9 +417,10 @@ var gameEndMenu = function(isWin)
let
earnedMoney
=
0
;
let
earnedMoney
=
0
;
if
(
isWin
)
earnedMoney
+=
20
;
if
(
isWin
)
earnedMoney
+=
20
;
earnedMoney
+=
RoomData
.
myself
.
killCount
*
3
;
earnedMoney
+=
RoomData
.
myself
.
killCount
*
3
;
earnedMoney
+=
parseInt
(
WordSpace
.
playerTyping
Rate
/
10
);
earnedMoney
+=
parseInt
(
WordSpace
.
playerTyping
/
10
);
earnedMoney
+=
Math
.
max
(
20
,
Math
.
pow
(
RoomData
.
myself
.
attackSucceed
,
2
));
earnedMoney
+=
Math
.
max
(
20
,
Math
.
pow
(
RoomData
.
myself
.
attackSucceed
,
2
));
earnedMoney
+=
parseInt
(
20
*
(
1
-
(
RoomData
.
myself
.
rank
-
1
)
/
(
RoomData
.
players
.
length
-
1
)));
earnedMoney
+=
parseInt
(
20
*
(
1
-
(
RoomData
.
myself
.
rank
-
1
)
/
(
RoomData
.
players
.
length
-
1
)));
earnedMoney
=
parseInt
(
earnedMoney
/
40
);
Input
.
inputField
.
text
.
destroy
();
Input
.
inputField
.
text
.
destroy
();
...
...
js/Enums.js
View file @
52bea875
var
Enums
=
Enums
||
{};
var
Enums
=
Enums
||
{};
Enums
.
characterAnim
=
{
sit
:
0
,
write
:
1
,
notBurning
:
2
,
smallBurning
:
3
,
bigBurning
:
4
,
throw
:
5
,
hit
:
6
,
gameOver
:
7
}
Enums
.
characterAnim
=
{
sit
:
0
,
write
:
1
,
notBurning
:
2
,
smallBurning
:
3
,
bigBurning
:
4
,
throw
:
5
,
hit
:
6
,
gameOver
:
7
}
Enums
.
item
=
{
invincible
:
"
무적
"
,
nameList
:
"
명단
"
,
charge
:
"
충전
"
,
clean
:
"
청소
"
,
heavy
:
"
중량
"
,
dark
:
"
암흑
"
}
Enums
.
item
=
{
invincible
:
"
무적
"
,
nameList
:
"
명단
"
,
charge
:
"
충전
"
,
clean
:
"
청소
"
,
heavy
:
"
중량
"
,
dark
:
"
암흑
"
}
\ No newline at end of file
Enums
.
characterSkin
=
[
"
pyeongmin
"
,
"
yangban
"
]
\ No newline at end of file
js/FirebaseClient.js
View file @
52bea875
...
@@ -281,7 +281,7 @@ class UserData
...
@@ -281,7 +281,7 @@ class UserData
this
.
recentHopae
=
null
;
this
.
recentHopae
=
null
;
this
.
title
=
[];
this
.
title
=
[];
this
.
money
=
0
;
this
.
money
=
0
;
this
.
item
=
[];
this
.
item
=
[
0
];
this
.
killCount
=
0
;
this
.
killCount
=
0
;
}
}
}
}
\ No newline at end of file
js/ResourceLoader.js
View file @
52bea875
...
@@ -40,6 +40,14 @@ ResourceLoader.loadImage = function(scene)
...
@@ -40,6 +40,14 @@ ResourceLoader.loadImage = function(scene)
scene
.
load
.
spritesheet
(
'
pyeongminGameOver
'
,
'
assets/image/character/pyeongmin/balladang/pyeong_balladang.png
'
,
{
frameWidth
:
720
,
frameHeight
:
700
});
scene
.
load
.
spritesheet
(
'
pyeongminGameOver
'
,
'
assets/image/character/pyeongmin/balladang/pyeong_balladang.png
'
,
{
frameWidth
:
720
,
frameHeight
:
700
});
scene
.
load
.
image
(
'
pyeongminStand
'
,
'
assets/image/character/pyeongmin/pyeong_stand.png
'
);
scene
.
load
.
image
(
'
pyeongminStand
'
,
'
assets/image/character/pyeongmin/pyeong_stand.png
'
);
scene
.
load
.
spritesheet
(
'
yangbanSit
'
,
'
assets/image/character/pyeongmin/pyeong_sit.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
yangbanWrite
'
,
'
assets/image/character/pyeongmin/write/pyeong_write.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
yangbanThrow
'
,
'
assets/image/character/pyeongmin/throw/pyeong_throw.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
yangbanBurningSmall
'
,
'
assets/image/character/pyeongmin/burning/pyeong_burning_small.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
yangbanBurningBig
'
,
'
assets/image/character/pyeongmin/burning/pyeong_burning_big.png
'
,
{
frameWidth
:
521
,
frameHeight
:
610
});
scene
.
load
.
spritesheet
(
'
yangbanGameOver
'
,
'
assets/image/character/pyeongmin/balladang/pyeong_balladang.png
'
,
{
frameWidth
:
720
,
frameHeight
:
700
});
scene
.
load
.
image
(
'
yangbanStand
'
,
'
assets/image/character/pyeongmin/pyeong_stand.png
'
);
scene
.
load
.
spritesheet
(
'
wordBreak
'
,
'
assets/image/word/wordbreak.png
'
,
{
frameWidth
:
180
,
frameHeight
:
180
});
scene
.
load
.
spritesheet
(
'
wordBreak
'
,
'
assets/image/word/wordbreak.png
'
,
{
frameWidth
:
180
,
frameHeight
:
180
});
scene
.
load
.
spritesheet
(
'
hopaeSceneInput
'
,
'
assets/image/word/hopaeSceneInput.png
'
,
{
frameWidth
:
239
,
frameHeight
:
45
});
scene
.
load
.
spritesheet
(
'
hopaeSceneInput
'
,
'
assets/image/word/hopaeSceneInput.png
'
,
{
frameWidth
:
239
,
frameHeight
:
45
});
scene
.
load
.
spritesheet
(
'
gameSceneInput
'
,
'
assets/image/etc/wordSpace/wordspace.png
'
,
{
frameWidth
:
253
,
frameHeight
:
67
});
scene
.
load
.
spritesheet
(
'
gameSceneInput
'
,
'
assets/image/etc/wordSpace/wordspace.png
'
,
{
frameWidth
:
253
,
frameHeight
:
67
});
...
@@ -99,46 +107,52 @@ ResourceLoader.loadAnimation = function(scene)
...
@@ -99,46 +107,52 @@ ResourceLoader.loadAnimation = function(scene)
frameRate
:
20
,
frameRate
:
20
,
repeat
:
0
repeat
:
0
});
});
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
sit
]
=
scene
.
anims
.
create
({
key
:
'
pyeongminSitAnim
'
,
for
(
let
i
=
0
;
i
<
2
;
i
++
)
frames
:
scene
.
anims
.
generateFrameNumbers
(
'
pyeongminSit
'
),
{
frameRate
:
10
,
WordSpace
.
characterAnims
[
i
][
Enums
.
characterAnim
.
sit
]
=
scene
.
anims
.
create
({
repeat
:
0
key
:
Enums
.
characterSkin
[
i
]
+
'
SitAnim
'
,
});
frames
:
scene
.
anims
.
generateFrameNumbers
(
Enums
.
characterSkin
[
i
]
+
'
Sit
'
),
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
write
]
=
scene
.
anims
.
create
({
frameRate
:
10
,
key
:
'
pyeongminWriteAnim
'
,
repeat
:
0
frames
:
scene
.
anims
.
generateFrameNumbers
(
'
pyeongminWrite
'
),
});
frameRate
:
10
,
WordSpace
.
characterAnims
[
i
][
Enums
.
characterAnim
.
write
]
=
scene
.
anims
.
create
({
repeat
:
0
key
:
Enums
.
characterSkin
[
i
]
+
'
WriteAnim
'
,
});
frames
:
scene
.
anims
.
generateFrameNumbers
(
Enums
.
characterSkin
[
i
]
+
'
Write
'
),
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
notBurning
]
=
scene
.
anims
.
create
({
frameRate
:
10
,
key
:
'
pyeongminnotBurningAnim
'
,
repeat
:
0
frames
:
scene
.
anims
.
generateFrameNumbers
(
'
pyeongminWrite
'
),
});
frameRate
:
10
,
WordSpace
.
characterAnims
[
i
][
Enums
.
characterAnim
.
notBurning
]
=
scene
.
anims
.
create
({
repeat
:
-
1
key
:
Enums
.
characterSkin
[
i
]
+
'
notBurningAnim
'
,
});
frames
:
scene
.
anims
.
generateFrameNumbers
(
Enums
.
characterSkin
[
i
]
+
'
Write
'
),
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
smallBurning
]
=
scene
.
anims
.
create
({
frameRate
:
10
,
key
:
'
pyeongminsmallBurningAnim
'
,
repeat
:
-
1
frames
:
scene
.
anims
.
generateFrameNumbers
(
'
pyeongminBurningSmall
'
),
});
frameRate
:
10
,
WordSpace
.
characterAnims
[
i
][
Enums
.
characterAnim
.
smallBurning
]
=
scene
.
anims
.
create
({
repeat
:
-
1
key
:
Enums
.
characterSkin
[
i
]
+
'
smallBurningAnim
'
,
});
frames
:
scene
.
anims
.
generateFrameNumbers
(
Enums
.
characterSkin
[
i
]
+
'
BurningSmall
'
),
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
bigBurning
]
=
scene
.
anims
.
create
({
frameRate
:
10
,
key
:
'
pyeongminbigBurningAnim
'
,
repeat
:
-
1
frames
:
scene
.
anims
.
generateFrameNumbers
(
'
pyeongminBurningBig
'
),
});
frameRate
:
10
,
WordSpace
.
characterAnims
[
i
][
Enums
.
characterAnim
.
bigBurning
]
=
scene
.
anims
.
create
({
repeat
:
-
1
key
:
Enums
.
characterSkin
[
i
]
+
'
bigBurningAnim
'
,
});
frames
:
scene
.
anims
.
generateFrameNumbers
(
Enums
.
characterSkin
[
i
]
+
'
BurningBig
'
),
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
throw
]
=
scene
.
anims
.
create
({
frameRate
:
10
,
key
:
'
pyeongminThrowAnim
'
,
repeat
:
-
1
frames
:
scene
.
anims
.
generateFrameNumbers
(
'
pyeongminThrow
'
),
});
frameRate
:
10
,
WordSpace
.
characterAnims
[
i
][
Enums
.
characterAnim
.
throw
]
=
scene
.
anims
.
create
({
repeat
:
0
key
:
Enums
.
characterSkin
[
i
]
+
'
ThrowAnim
'
,
});
frames
:
scene
.
anims
.
generateFrameNumbers
(
Enums
.
characterSkin
[
i
]
+
'
Throw
'
),
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
gameOver
]
=
scene
.
anims
.
create
({
frameRate
:
10
,
key
:
'
pyeongminGameOverAnim
'
,
repeat
:
0
frames
:
scene
.
anims
.
generateFrameNumbers
(
'
pyeongminGameOver
'
),
});
frameRate
:
10
,
WordSpace
.
characterAnims
[
i
][
Enums
.
characterAnim
.
gameOver
]
=
scene
.
anims
.
create
({
repeat
:
0
key
:
Enums
.
characterSkin
[
i
]
+
'
GameOverAnim
'
,
});
frames
:
scene
.
anims
.
generateFrameNumbers
(
Enums
.
characterSkin
[
i
]
+
'
GameOver
'
),
frameRate
:
10
,
repeat
:
0
});
}
}
}
\ No newline at end of file
js/ScenesData.js
View file @
52bea875
...
@@ -35,6 +35,7 @@ var menuScene = new Phaser.Class(
...
@@ -35,6 +35,7 @@ var menuScene = new Phaser.Class(
create
:
function
()
create
:
function
()
{
{
ResourceLoader
.
loadAnimation
(
this
);
BackGround
.
drawMenu
(
this
);
BackGround
.
drawMenu
(
this
);
Audio
.
playSound
(
this
,
'
login
'
);
Audio
.
playSound
(
this
,
'
login
'
);
ScenesData
.
menuScene
.
tutorialFrame
=
0
;
ScenesData
.
menuScene
.
tutorialFrame
=
0
;
...
@@ -135,7 +136,8 @@ var menuScene = new Phaser.Class(
...
@@ -135,7 +136,8 @@ var menuScene = new Phaser.Class(
this
.
organizeHopae
();
this
.
organizeHopae
();
this
.
createCurrentHopae
();
this
.
createCurrentHopae
();
this
.
myCharacter
=
this
.
add
.
sprite
(
game
.
config
.
width
/
2
,
game
.
config
.
height
/
2
,
'
pyeongminStand
'
).
setOrigin
(
0.5
,
0.5
).
setDepth
(
5
).
setScale
(
0.8
);
this
.
myCharacter
=
this
.
add
.
sprite
(
game
.
config
.
width
/
2
,
game
.
config
.
height
/
2
,
Enums
.
characterSkin
[
WordSpace
.
myCharacterSkin
]
+
'
Stand
'
)
.
setOrigin
(
0.5
,
0.5
).
setDepth
(
5
).
setScale
(
0.8
);
this
.
roomEnterDialog
=
this
.
rexUI
.
add
.
dialog
({
this
.
roomEnterDialog
=
this
.
rexUI
.
add
.
dialog
({
x
:
game
.
config
.
width
/
2
,
x
:
game
.
config
.
width
/
2
,
...
@@ -456,7 +458,6 @@ var gameScene = new Phaser.Class(
...
@@ -456,7 +458,6 @@ var gameScene = new Phaser.Class(
{
{
WordSpace
.
gameTimer
=
new
Phaser
.
Time
.
Clock
(
this
);
WordSpace
.
gameTimer
=
new
Phaser
.
Time
.
Clock
(
this
);
WordSpace
.
gameTimer
.
start
();
WordSpace
.
gameTimer
.
start
();
ResourceLoader
.
loadAnimation
(
this
);
CSVParsing
.
CSVParse
(
this
);
CSVParsing
.
CSVParse
(
this
);
BackGround
.
drawBackground
(
this
);
BackGround
.
drawBackground
(
this
);
BackGround
.
drawBrain
(
this
);
BackGround
.
drawBrain
(
this
);
...
...
js/WordObject.js
View file @
52bea875
...
@@ -57,7 +57,6 @@ class WordObject
...
@@ -57,7 +57,6 @@ class WordObject
setTimeout
(
function
()
{
setTimeout
(
function
()
{
breakAnim
.
destroy
();
breakAnim
.
destroy
();
},
200
);
},
200
);
Audio
.
playSound
(
ScenesData
.
gameScene
,
'
killWord
'
);
}
}
attract
()
attract
()
...
@@ -109,8 +108,9 @@ class NormalWord extends WordObject
...
@@ -109,8 +108,9 @@ class NormalWord extends WordObject
super
.
destroy
();
super
.
destroy
();
if
(
isNormallyRemoved
)
if
(
isNormallyRemoved
)
{
{
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
write
]);
Audio
.
playSound
(
ScenesData
.
gameScene
,
'
killWord
'
);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
sit
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
][
Enums
.
characterAnim
.
sit
]);
switch
(
this
.
wordGrade
)
switch
(
this
.
wordGrade
)
{
{
case
0
:
WordSpace
.
attackGauge
.
add
(
2.5
);
break
;
case
0
:
WordSpace
.
attackGauge
.
add
(
2.5
);
break
;
...
@@ -190,8 +190,9 @@ class AttackWord extends WordObject
...
@@ -190,8 +190,9 @@ class AttackWord extends WordObject
super
.
destroy
();
super
.
destroy
();
if
(
isNormallyRemoved
)
if
(
isNormallyRemoved
)
{
{
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
write
]);
Audio
.
playSound
(
ScenesData
.
gameScene
,
'
killWord
'
);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
sit
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
][
Enums
.
characterAnim
.
sit
]);
switch
(
this
.
wordGrade
)
switch
(
this
.
wordGrade
)
{
{
case
0
:
WordSpace
.
attackGauge
.
add
(
2.5
);
break
;
case
0
:
WordSpace
.
attackGauge
.
add
(
2.5
);
break
;
...
@@ -262,10 +263,7 @@ class NameWord extends WordObject
...
@@ -262,10 +263,7 @@ class NameWord extends WordObject
if
(
this
.
isStrong
)
if
(
this
.
isStrong
)
{
{
this
.
physicsObj
.
setScale
(
this
.
follower
.
t
<
0.2
?
0.2
:
this
.
follower
.
t
*
this
.
scale
);
this
.
physicsObj
.
setScale
(
this
.
follower
.
t
<
0.2
?
0.2
:
this
.
follower
.
t
*
this
.
scale
);
this
.
wordObj
.
setFont
({
this
.
wordObj
.
setScale
((
this
.
follower
.
t
<
0.2
?
0.2
:
this
.
follower
.
t
*
this
.
scale
)
*
0.9
);
font
:
(
this
.
follower
.
t
<
0.2
?
0.05
:
this
.
follower
.
t
*
this
.
scale
*
this
.
fontScale
)
+
'
pt sejongFont
'
,
fontStyle
:
(
this
.
wordWeight
>
5
?
'
bold
'
:
''
)
});
}
}
}
}
}
}
...
@@ -274,8 +272,9 @@ class NameWord extends WordObject
...
@@ -274,8 +272,9 @@ class NameWord extends WordObject
super
.
destroy
();
super
.
destroy
();
if
(
isNormallyRemoved
)
if
(
isNormallyRemoved
)
{
{
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
write
]);
Audio
.
playSound
(
ScenesData
.
gameScene
,
'
killWord
'
);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
sit
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
][
Enums
.
characterAnim
.
sit
]);
ScenesData
.
gameScene
.
physics
.
world
.
removeCollider
(
this
.
physicsObj
.
wordCollider
);
ScenesData
.
gameScene
.
physics
.
world
.
removeCollider
(
this
.
physicsObj
.
wordCollider
);
WordSpace
.
wordGroup
.
forEach
(
function
(
element
)
WordSpace
.
wordGroup
.
forEach
(
function
(
element
)
{
{
...
@@ -303,10 +302,6 @@ class NameWord extends WordObject
...
@@ -303,10 +302,6 @@ class NameWord extends WordObject
duration
:
2000
,
duration
:
2000
,
repeat
:
0
repeat
:
0
});
});
//이동경로 디버그
/*var graphics = ScenesData.gameScene.add.graphics();
graphics.lineStyle(2, 0xffffff, 1);
this.path.draw(graphics);*/
}
}
}
}
}
}
...
@@ -361,8 +356,9 @@ class ItemWord extends WordObject
...
@@ -361,8 +356,9 @@ class ItemWord extends WordObject
super
.
destroy
();
super
.
destroy
();
if
(
isNormallyRemoved
)
if
(
isNormallyRemoved
)
{
{
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
write
]);
Audio
.
playSound
(
ScenesData
.
gameScene
,
'
killWord
'
);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
sit
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
][
Enums
.
characterAnim
.
write
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
][
Enums
.
characterAnim
.
sit
]);
WordSpace
.
attackGauge
.
add
(
0.5
);
WordSpace
.
attackGauge
.
add
(
0.5
);
switch
(
this
.
itemType
)
switch
(
this
.
itemType
)
{
{
...
...
js/WordSpace.js
View file @
52bea875
...
@@ -12,6 +12,10 @@ WordSpace.isTimerOn = false;
...
@@ -12,6 +12,10 @@ WordSpace.isTimerOn = false;
WordSpace
.
isInvincible
=
false
;
WordSpace
.
isInvincible
=
false
;
WordSpace
.
pyeongminAnims
=
[];
WordSpace
.
pyeongminAnims
=
[];
WordSpace
.
characterAnims
=
Array
(
2
).
fill
(
null
).
map
(()
=>
Array
());
WordSpace
.
myCharacterSkin
=
0
;
WordSpace
.
wordGroup
=
[];
WordSpace
.
wordGroup
=
[];
WordSpace
.
nameGroup
=
[];
WordSpace
.
nameGroup
=
[];
WordSpace
.
attackPaperGroup
=
null
;
WordSpace
.
attackPaperGroup
=
null
;
...
@@ -192,7 +196,6 @@ WordSpace.generateWord =
...
@@ -192,7 +196,6 @@ WordSpace.generateWord =
Item
:
function
(
scene
,
itemType
,
lenRate
)
Item
:
function
(
scene
,
itemType
,
lenRate
)
{
{
word
=
new
ItemWord
(
itemType
);
word
=
new
ItemWord
(
itemType
);
Audio
.
playSound
(
ScenesData
.
gameScene
,
'
getItem
'
);
WordSpace
.
pushWord
(
scene
,
word
,
lenRate
);
WordSpace
.
pushWord
(
scene
,
word
,
lenRate
);
return
word
;
return
word
;
}
}
...
@@ -277,16 +280,16 @@ WordSpace.findWord = function(wordText)
...
@@ -277,16 +280,16 @@ WordSpace.findWord = function(wordText)
switch
(
tempAttackOption
.
wordCount
)
switch
(
tempAttackOption
.
wordCount
)
{
{
case
2
:
case
2
:
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
notBurning
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
]
[
Enums
.
characterAnim
.
notBurning
]);
break
;
break
;
case
3
:
case
3
:
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
smallBurning
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
]
[
Enums
.
characterAnim
.
smallBurning
]);
break
;
break
;
case
4
:
case
4
:
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
smallBurning
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
]
[
Enums
.
characterAnim
.
smallBurning
]);
break
;
break
;
case
5
:
case
5
:
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
bigBurning
]);
RoomData
.
myself
.
playerImage
.
play
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
]
[
Enums
.
characterAnim
.
bigBurning
]);
break
;
break
;
default
:
default
:
console
.
log
(
'
Improper attack option.
'
);
console
.
log
(
'
Improper attack option.
'
);
...
@@ -396,8 +399,8 @@ WordSpace.attack = function(wordText, grade)
...
@@ -396,8 +399,8 @@ 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
.
characterAnims
[
WordSpace
.
myCharacterSkin
]
[
Enums
.
characterAnim
.
throw
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
pyeongminAnims
[
Enums
.
characterAnim
.
sit
]);
RoomData
.
myself
.
playerImage
.
anims
.
chain
(
WordSpace
.
characterAnims
[
WordSpace
.
myCharacterSkin
]
[
Enums
.
characterAnim
.
sit
]);
Input
.
attackOption
.
isHeavy
=
false
;
Input
.
attackOption
.
isHeavy
=
false
;
Input
.
attackOption
.
isDark
=
false
;
Input
.
attackOption
.
isDark
=
false
;
}
}
...
@@ -492,7 +495,8 @@ WordSpace.changePhase = function(newPhase)
...
@@ -492,7 +495,8 @@ WordSpace.changePhase = function(newPhase)
//WordSpace.pauseCycle(true);
//WordSpace.pauseCycle(true);
// 여기서 종이 드르륵 열면됨
// 여기서 종이 드르륵 열면됨
let
phaseChangeBgr
=
ScenesData
.
gameScene
.
add
.
sprite
(
game
.
config
.
width
/
2
,
game
.
config
.
height
/
2
,
'
phase
'
+
newPhase
).
setOrigin
(
0.5
,
0.5
).
setDepth
(
9.9
).
play
(
'
phase
'
+
newPhase
+
'
Anim
'
);
let
phaseChangeBgr
=
ScenesData
.
gameScene
.
add
.
sprite
(
game
.
config
.
width
/
2
,
game
.
config
.
height
/
2
,
'
phase
'
+
newPhase
).
setOrigin
(
0.5
,
0.5
).
setDepth
(
9.9
)
.
play
(
'
phase
'
+
newPhase
+
'
Anim
'
);
//ScenesData.gameScene.scene.pause('gameScene');
//ScenesData.gameScene.scene.pause('gameScene');
setTimeout
(
function
()
setTimeout
(
function
()
{
{
...
@@ -515,7 +519,6 @@ WordSpace.resetGame = function()
...
@@ -515,7 +519,6 @@ WordSpace.resetGame = function()
WordSpace
.
isGameOver
=
false
;
WordSpace
.
isGameOver
=
false
;
WordSpace
.
isTimerOn
=
false
;
WordSpace
.
isTimerOn
=
false
;
WordSpace
.
isInvincible
=
false
;
WordSpace
.
isInvincible
=
false
;
WordSpace
.
pyeongminAnims
=
[];
WordSpace
.
wordGroup
=
[];
WordSpace
.
wordGroup
=
[];
WordSpace
.
nameGroup
=
[];
WordSpace
.
nameGroup
=
[];
...
...
server.js
View file @
52bea875
...
@@ -13,7 +13,7 @@ app.get('/', function(req, res) {
...
@@ -13,7 +13,7 @@ app.get('/', function(req, res) {
});
});
// http 기본 포트(80)에 서버 열기
// http 기본 포트(80)에 서버 열기
server
.
listen
(
80
,
function
()
{
server
.
listen
(
80
80
,
function
()
{
console
.
log
(
new
Date
().
toLocaleTimeString
(
'
ko-KR
'
)
+
'
[SERVER] Listening on port
'
+
server
.
address
().
port
);
console
.
log
(
new
Date
().
toLocaleTimeString
(
'
ko-KR
'
)
+
'
[SERVER] Listening on port
'
+
server
.
address
().
port
);
GameServer
.
serverNumber
=
Math
.
floor
(
Math
.
random
()
*
1000
+
1
);
GameServer
.
serverNumber
=
Math
.
floor
(
Math
.
random
()
*
1000
+
1
);
console
.
log
(
new
Date
().
toLocaleTimeString
(
'
ko-KR
'
)
+
'
[SERVER] server number is
'
+
GameServer
.
serverNumber
);
console
.
log
(
new
Date
().
toLocaleTimeString
(
'
ko-KR
'
)
+
'
[SERVER] server number is
'
+
GameServer
.
serverNumber
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment