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
fded70ae
Commit
fded70ae
authored
Aug 18, 2025
by
Vũ Gia Vương
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update passTower by step
parent
d2fd92f1
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
9 deletions
+23
-9
User.ts
src/Model/User.ts
+4
-0
socket.ts
src/socket.ts
+19
-9
No files found.
src/Model/User.ts
View file @
fded70ae
...
...
@@ -71,6 +71,10 @@ export interface IDataSpawnTower {
towerNumber
:
number
,
}
export
interface
IRequestPassTower
{
step
:
number
}
export
interface
IQuery
{
token
?:
string
,
userId
?:
string
...
...
src/socket.ts
View file @
fded70ae
import
{
Server
,
Socket
}
from
"socket.io"
;
// import CONFIG from "./Config/config";
import
User
,
{
IDataPassTower
,
IDataSpawnTower
}
from
"./Model/User"
;
import
User
,
{
IDataPassTower
,
IDataSpawnTower
,
IRequestPassTower
}
from
"./Model/User"
;
import
v2
from
"./Model/v2"
;
import
{
endGameApi
,
startGameApi
}
from
"./Controller/networkCtrl"
;
const
users
:
Map
<
string
,
User
>
=
new
Map
<
string
,
User
>
();
const
Y_RADIO
:
number
=
0.5560472
;
const
HALF_SIZE_TOWER
:
number
=
56.43580423808985
;
const
INIT_SPEED
:
number
=
300
;
const
A_POWER
:
number
=
300
;
const
DT
:
number
=
0.016
;
const
MAX_TOWER
:
number
=
50
;
const
CONFIG
=
{
EVT
:
{
START_GAME
:
'200'
,
...
...
@@ -39,7 +43,7 @@ export function setupSocket(io: Server) {
console
.
log
(
`🟢 Client connected:
${
socket
.
id
}
`
);
socket
.
on
(
CONFIG
.
EVT
.
START_GAME
,
(
data
:
string
)
=>
startGame
(
socket
,
data
));
socket
.
on
(
CONFIG
.
EVT
.
PASS_TOWER
,
async
(
data
:
{
playerPos
:
v2
,
time
:
number
,
distance
:
number
}
)
=>
await
passTower
(
socket
,
data
));
socket
.
on
(
CONFIG
.
EVT
.
PASS_TOWER
,
async
(
data
:
IRequestPassTower
)
=>
await
passTower
(
socket
,
data
));
socket
.
on
(
CONFIG
.
EVT
.
HISTORY
,
async
()
=>
getHistory
(
socket
));
socket
.
on
(
CONFIG
.
EVT
.
END_GAME
,
()
=>
endGame
(
socket
));
...
...
@@ -76,7 +80,7 @@ async function startGame(socket: Socket, data: any) {
const
user
=
getUserBySocket
(
socket
);
const
result
=
await
startGameApi
(
data
);
if
(
result
&&
user
.
isStartGame
)
{
if
(
result
&&
user
.
isStartGame
)
{
user
.
reset
();
}
...
...
@@ -93,12 +97,21 @@ async function startGame(socket: Socket, data: any) {
}
}
async
function
passTower
(
socket
:
Socket
,
data
:
{
distance
:
number
}
)
{
async
function
passTower
(
socket
:
Socket
,
data
:
IRequestPassTower
)
{
try
{
const
user
=
getUserBySocket
(
socket
);
let
xDistance_
=
0
;
const
xDistance_
=
data
.
distance
;
const
{
direction
,
nextBlock
,
towerNumber
,
position
}
=
user
;
if
(
towerNumber
>
MAX_TOWER
)
{
let
speed
=
INIT_SPEED
;
for
(
let
i
=
0
;
i
<
data
.
step
;
i
++
)
{
speed
+=
(
Math
.
min
(
towerNumber
-
MAX_TOWER
,
A_POWER
)
*
DT
);
xDistance_
+=
speed
*
DT
;
}
}
else
{
xDistance_
=
data
.
step
*
INIT_SPEED
*
DT
;
}
const
point
=
new
v2
(
xDistance_
*
direction
,
xDistance_
*
Y_RADIO
);
const
nextTowerPos
=
nextBlock
;
...
...
@@ -124,9 +137,6 @@ async function passTower(socket: Socket, data: { distance: number }) {
score
=
2
;
}
// target = nextTowerPos.clone();
// score = 2;
const
heightJump
=
user
.
distance2Tower
*
0.7
;
if
(
score
==
2
)
{
...
...
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