diff --git a/src/api/controllers/server.controller.ts b/src/api/controllers/server.controller.ts deleted file mode 100644 index 035c52d..0000000 --- a/src/api/controllers/server.controller.ts +++ /dev/null @@ -1,6 +0,0 @@ -import BaseController from '../../common/base.controller' -import { role, router } from '../../decorators/router' - -class ServerController extends BaseController { - -} diff --git a/src/services/GameLogic.ts b/src/services/GameLogic.ts index 7fc8697..8bcdc1a 100644 --- a/src/services/GameLogic.ts +++ b/src/services/GameLogic.ts @@ -1,4 +1,10 @@ -import { beginGame, endGame, sendQuestion, updateScore } from './WsSvr' +import { + beginGame, + endGame, + sendQuestion, + updateRound, + updateScore +} from './WsSvr' import { Puzzle } from '../models/content/Puzzle' import { Schedule } from '../clock/Schedule' import { BaseConst } from '../constants/BaseConst' @@ -58,6 +64,7 @@ export async function sendOneQuestion(history: any) { let record = await Puzzle.findById(qid) let qdata: any = transformRecord([record])[0] qdata.no = history.current + await updateRound(roomId, history.current) await sendQuestion(roomId, qdata) history.current ++ await history.save() diff --git a/src/services/WsSvr.ts b/src/services/WsSvr.ts index 972b1f3..f6f4ba1 100644 --- a/src/services/WsSvr.ts +++ b/src/services/WsSvr.ts @@ -121,6 +121,12 @@ export async function sendQuestion(roomId: string, data: any) { return broadcast(roomId, 'question', data) } +/** + * 更新玩家的分数 + * @param {string} roomId + * @param data + * @return {Promise>} + */ export async function updateScore(roomId: string, data: any) { console.log(`updateScore: ${roomId}, ${JSON.stringify(data)}`) const url = `${apiBase}/room/call` @@ -135,3 +141,24 @@ export async function updateScore(roomId: string, data: any) { return res.data }) } + +/** + * 更新游戏轮数 + * @param {string} roomId + * @param {number} round + * @return {Promise>} + */ +export async function updateRound(roomId: string, round: number) { + console.log(`updateRound: ${roomId}, ${round}`) + const url = `${apiBase}/room/call` + const args = [round] + const params = { + roomId, + method: 'updateRound', + args: JSON.stringify(args) + } + return axios.post(url, params) + .then(res => { + return res.data + }) +}