Commit ef9542ce authored by Vũ Gia Vương's avatar Vũ Gia Vương

update game level

parent fb8c1480
import User from "../Model/User";
const URL = 'https://dev.gamee.vn/api/web';
......@@ -26,15 +27,23 @@ export async function startGameApi(data: any) {
return result;
}
export async function endGameApi(score: number) {
console.log('score', score)
export async function endGameApi(user: User) {
const playedSeconds = (new Date().getTime() - timeStart) / 1e3;
const params = {
const details = user.history.map(h=>({
level: h.tower,
score: h.score,
timeStart: h.timeStart,
timePlayed: h.timePlayed / 1e3,
}));
const params = {
matchId,
gameCode: GAME_CODE,
eventId,
playedSeconds,
score,
score: user.totalScore,
gameLevel: user.towerNumber - 1,
details
}
const res = await callApi(URL_END_GAME, 'POST', params);
......
......@@ -14,6 +14,7 @@ class User {
public nextBlock: v2 = v2.zero;
public screenPos: v2 = v2.zero;
public timeStart: number = 0;
public isEndGame: boolean = true;
public history: History[] = [];
......@@ -23,9 +24,11 @@ class User {
}
class History{
public time: number = 0;
public timeStart: number = 0;
public timePlayed: number = 0;
public totalScore: number = 0;
public tower: number = 0;
public score: number = 0;
}
export default User;
\ No newline at end of file
......@@ -36,7 +36,7 @@ function onDisconnect(socket: Socket): void {
if (user.isEndGame) {
return;
}
endGameApi(user.totalScore);
endGameApi(user);
user.totalScore = 0;
return console.log(`🔴 Client disconnected: ${socket.id}`);
}
......@@ -85,19 +85,29 @@ async function passTower(socket: Socket, data: { nextPos: v2, time: number, dist
user.combo = 0;
}
if (user.towerNumber > 2) {
score = 0;//test
}
user.totalScore += score;
const dataSend = {
totalScore: user.totalScore,
tower: user.towerNumber,
score,
time: data.time,
};
if (!user.isEndGame) {
const history = {
...dataSend,
timeStart: user.timeStart,
timePlayed: Date.now() - user.timeStart,
}
user.history.unshift(history);
if (score != 0) {
addBlock(socket);
} else {
endGameApi(user.totalScore);
user.history.unshift(dataSend);
endGameApi(user);
user.totalScore = 0;
}
socket.emit('requestPassTower', dataSend);
......@@ -124,6 +134,7 @@ async function addBlock(socket: Socket) {
distance2Tower: user.distance2Tower,
towerNumber: user.towerNumber - 1,
};
user.timeStart = Date.now();
socket.emit('requestSpawnTower', data);
}
......
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