Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
game-server-flip-jump
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Gia Vương
game-server-flip-jump
Commits
28d44104
Commit
28d44104
authored
Aug 12, 2025
by
Vũ Gia Vương
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
todo fix pos player
parent
798b39ca
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
15 deletions
+15
-15
User.ts
src/Model/User.ts
+3
-3
v2.ts
src/Model/v2.ts
+0
-1
socket.ts
src/socket.ts
+12
-11
No files found.
src/Model/User.ts
View file @
28d44104
...
@@ -10,9 +10,9 @@ class User {
...
@@ -10,9 +10,9 @@ class User {
public
totalScore
:
number
=
0
;
public
totalScore
:
number
=
0
;
public
combo
:
number
=
0
;
public
combo
:
number
=
0
;
public
curBlock
:
v2
=
v2
.
zero
;
public
curBlock
:
v2
=
new
v2
(
0
,
0
)
;
public
nextBlock
:
v2
=
v2
.
zero
;
public
nextBlock
:
v2
=
new
v2
(
0
,
0
)
;
public
screenPos
:
v2
=
v2
.
zero
;
public
screenPos
:
v2
=
new
v2
(
0
,
0
)
;
public
timeStart
:
number
=
0
;
public
timeStart
:
number
=
0
;
public
isEndGame
:
boolean
=
true
;
public
isEndGame
:
boolean
=
true
;
...
...
src/Model/v2.ts
View file @
28d44104
class
v2
{
class
v2
{
public
x
:
number
=
0
;
public
x
:
number
=
0
;
public
y
:
number
=
0
;
public
y
:
number
=
0
;
public
static
zero
=
new
v2
(
0
,
0
);
constructor
(
x
?:
number
,
y
?:
number
)
{
constructor
(
x
?:
number
,
y
?:
number
)
{
this
.
x
=
x
||
0
;
this
.
x
=
x
||
0
;
...
...
src/socket.ts
View file @
28d44104
...
@@ -6,7 +6,7 @@ import { endGameApi, startGameApi } from "./Controller/networkCtrl";
...
@@ -6,7 +6,7 @@ import { endGameApi, startGameApi } from "./Controller/networkCtrl";
const
users
:
Map
<
string
,
User
>
=
new
Map
<
string
,
User
>
();
const
users
:
Map
<
string
,
User
>
=
new
Map
<
string
,
User
>
();
const
Y_RATIO
:
number
=
0.5560472
;
const
Y_RATIO
:
number
=
0.5560472
;
const
DISTANC
E_BLOCK
:
number
=
56.43580423808985
;
const
HALF_SIZ
E_BLOCK
:
number
=
56.43580423808985
;
export
function
setupSocket
(
io
:
Server
)
{
export
function
setupSocket
(
io
:
Server
)
{
...
@@ -22,7 +22,7 @@ export function setupSocket(io: Server) {
...
@@ -22,7 +22,7 @@ export function setupSocket(io: Server) {
console
.
log
(
`🟢 Client connected:
${
socket
.
id
}
`
);
console
.
log
(
`🟢 Client connected:
${
socket
.
id
}
`
);
socket
.
on
(
CONFIG
.
EVT
.
START_GAME
,
(
data
:
string
)
=>
startGame
(
socket
,
data
));
socket
.
on
(
CONFIG
.
EVT
.
START_GAME
,
(
data
:
string
)
=>
startGame
(
socket
,
data
));
socket
.
on
(
CONFIG
.
EVT
.
PASS_TOWER
,
async
(
data
:
{
next
Pos
:
v2
,
time
:
number
,
distance
:
number
})
=>
await
passTower
(
socket
,
data
));
socket
.
on
(
CONFIG
.
EVT
.
PASS_TOWER
,
async
(
data
:
{
player
Pos
:
v2
,
time
:
number
,
distance
:
number
})
=>
await
passTower
(
socket
,
data
));
socket
.
on
(
CONFIG
.
EVT
.
HISTORY
,
async
()
=>
getHistory
(
socket
));
socket
.
on
(
CONFIG
.
EVT
.
HISTORY
,
async
()
=>
getHistory
(
socket
));
socket
.
on
(
"disconnect"
,
()
=>
onDisconnect
(
socket
));
socket
.
on
(
"disconnect"
,
()
=>
onDisconnect
(
socket
));
...
@@ -32,11 +32,12 @@ export function setupSocket(io: Server) {
...
@@ -32,11 +32,12 @@ export function setupSocket(io: Server) {
function
onDisconnect
(
socket
:
Socket
):
void
{
function
onDisconnect
(
socket
:
Socket
):
void
{
console
.
log
(
`🔴 Client disconnected:
${
socket
.
id
}
`
)
console
.
log
(
`🔴 Client disconnected:
${
socket
.
id
}
`
)
const
user
=
getUserBySocket
(
socket
);
const
user
=
getUserBySocket
(
socket
);
user
.
reset
();
if
(
user
?.
isEndGame
)
{
if
(
user
?.
isEndGame
)
{
return
;
return
;
}
}
endGameApi
(
user
);
endGameApi
(
user
);
user
.
reset
();
}
}
async
function
getHistory
(
socket
:
Socket
)
{
async
function
getHistory
(
socket
:
Socket
)
{
...
@@ -58,23 +59,23 @@ async function startGame(socket: Socket, data: any) {
...
@@ -58,23 +59,23 @@ async function startGame(socket: Socket, data: any) {
}
}
}
}
async
function
passTower
(
socket
:
Socket
,
data
:
{
next
Pos
:
v2
,
distance
:
number
})
{
async
function
passTower
(
socket
:
Socket
,
data
:
{
player
Pos
:
v2
,
distance
:
number
})
{
console
.
log
(
'distance'
,
data
.
distance
)
console
.
log
(
'distance'
,
data
.
distance
,
'playerPos'
,
data
.
playerPos
)
const
user
=
getUserBySocket
(
socket
);
const
user
=
getUserBySocket
(
socket
);
// const lastDis = user.curBlock.distanceTo(data.nextPos);
// const distance = Math.abs(lastDis - user.distance2Tower);
let
score
=
0
let
score
=
0
const
distancePlayer2NextBlock
=
new
v2
(
data
.
playerPos
.
x
,
data
.
playerPos
.
y
).
distanceTo
(
user
.
nextBlock
);
console
.
log
(
'distancePlayer2NextBlock'
,
distancePlayer2NextBlock
,
'user.distance2Tower'
,
user
.
distance2Tower
)
const
distance
=
Math
.
abs
(
data
.
distance
-
user
.
distance2Tower
);
const
distance
=
Math
.
abs
(
data
.
distance
-
user
.
distance2Tower
);
// const distance = Math.abs(data.distance - distancePlayer2NextBlock);
if
(
distance
<
DISTANC
E_BLOCK
*
0.8
)
{
if
(
distance
<
HALF_SIZ
E_BLOCK
*
0.8
)
{
score
=
1
;
score
=
1
;
}
}
if
(
distance
<=
DISTANC
E_BLOCK
/
3
)
{
if
(
distance
<=
HALF_SIZ
E_BLOCK
/
3
)
{
score
=
2
;
score
=
2
;
}
}
if
(
distance
>
DISTANCE_BLOCK
*
0.8
&&
distance
<=
DISTANC
E_BLOCK
*
1.2
)
{
if
(
distance
>
HALF_SIZE_BLOCK
*
0.8
&&
distance
<=
HALF_SIZ
E_BLOCK
*
1.2
)
{
score
=
-
1
;
score
=
-
1
;
}
}
...
...
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