From 259f39b5ad287112795f633ccefb7b0c4e75bc41 Mon Sep 17 00:00:00 2001 From: song Date: Sat, 9 Oct 2021 15:36:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9play=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/dom.js | 45 ++++++++++++++++++++++++--------------------- src/message.js | 19 +++++++++---------- 2 files changed, 33 insertions(+), 31 deletions(-) diff --git a/src/dom.js b/src/dom.js index de098c6..2bb1648 100644 --- a/src/dom.js +++ b/src/dom.js @@ -173,12 +173,12 @@ export function submitSetting(){ var difficulties = document.getElementsByName("difficulty") gameModes.forEach(mode => { mode.addEventListener('click', function () { - game.mode = mode.value - 0; + game.mode = mode.value - 0 || game.mode; }) }) difficulties.forEach(item => { item.addEventListener('click', function () { - game.level = item.value - 0; + game.level = item.value - 0 || game.level; }) }) var totalTimes = document.getElementById("totalTimes") @@ -196,15 +196,14 @@ export function submitSetting(){ }) submit.addEventListener('click', function () { - game.totalTimes = totalTimes.value - 0 - game.totalScore = totalScore.value - 0 - game.count = count.value - 0 - game.gameTime = gameTime.value - 0 + game.totalTimes = totalTimes.value - 0 || game.totalTimes + game.totalScore = totalScore.value - 0 || game.totalScore + game.count = count.value - 0 || game.count + game.game = gameTime.value - 0 || game.game setScores() setActionSequences() myInput.style.display = "none" setDefaultStyle() - console.log('game: ', game); }) } @@ -225,16 +224,18 @@ export function setDirection(value){ // 设置动作分支表 export function setScores(){ - game.scores = [] var directionScores = document.getElementsByClassName("directionScores") - for (let i = 0; i < directionScores.length; i++) { - const score = directionScores[i]; - const item = { - direction: 0, score: 0 + if(directionScores.length){ + game.scores = [] + for (let i = 0; i < directionScores.length; i++) { + const score = directionScores[i]; + const item = { + direction: 0, score: 0 + } + item.direction = i + item.score = score.value - 0 + game.scores.push(item) } - item.direction = i - item.score = score.value - 0 - game.scores.push(item) } } @@ -242,12 +243,14 @@ export function setScores(){ export function setActionSequences(){ var actionSequences = document.getElementById("actionSequences") const arr = actionSequences.value.split('') - game.directions = [] - arr.forEach(item => { - if(isNaN(item)){ - game.directions.push(item - 0) - } - }) + if(arr.length){ + game.directions = [] + arr.forEach(item => { + if(isNaN(item)){ + game.directions.push(item - 0) + } + }) + } } // 判断是不是数字 diff --git a/src/message.js b/src/message.js index 4f6ac92..80865b7 100644 --- a/src/message.js +++ b/src/message.js @@ -1,6 +1,5 @@ import { game } from './config'; -const { count, game: gameDuration, scores, directions, totalScore, totalTimes } = game; let currentScore = 0; // 当前得分 let currentTimes = 0; // 当前次数 @@ -10,25 +9,25 @@ const createStartData = () => { currentScore = 0; currentTimes = 0; const now = Date.now(); - const countFinishTime = now + count * 1000; // 倒计时结束时间 - const gameFinishTime = countFinishTime + gameDuration * 1000; // 游戏结束时间 + const countFinishTime = now + game.count * 1000; // 倒计时结束时间 + const gameFinishTime = countFinishTime + game.game * 1000; // 游戏结束时间 const data = { event: "start", data: { count: { finishTime: countFinishTime, // 倒计时结束的ms数 - duration: count, // 倒计时时长 + duration: game.count, // 倒计时时长 }, game: { finishTime: gameFinishTime, // 游戏结束的ms数 - duration: gameDuration, // 游戏时长 - totalScore, // 总分 - totalTimes, // 总次数 + duration: game.game, // 游戏时长 + totalScore: game.totalScore, // 总分 + totalTimes: game.totalTimes, // 总次数 level: game.level, // 等级 0->入门 1->简单 2->普通 3->困难 mode: game.mode, // 模式 0-> 正常模式 1-> 演示模式 config: { - scores, - directions // 游戏的动作构成队列 + scores: game.scores, + directions: game.directions, // 游戏的动作构成队列 } }, status: 1, // 游戏状态 0 1 2 @@ -155,5 +154,5 @@ export function onPlayMessage(data) { * @returns {boolean} */ function validatePlayCode(code, currentTimes) { - return code === directions[currentTimes]; + return code === game.directions[currentTimes]; }