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