Commit a6c55248 authored by 韦燕's avatar 韦燕

feat:merge

parent b065519d
......@@ -29,6 +29,6 @@ if (location.href.indexOf("duibatest") > -1) {
CFG.loginMidId = "Did1NTk5OTk"; // 线上测试
}
// 免登中间页
CFG.loginMidUrl = "/customShare/share?id=" + CFG.loginMidId + "&source=duiba&projectId=" + CFG.projectId + "&redirectUrl=";</script><link href="//yun.duiba.com.cn/spark/v2/temp_base/1744946993702/styles/main.03bed8340b5ebd7975c4.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>"use strict";
CFG.loginMidUrl = "/customShare/share?id=" + CFG.loginMidId + "&source=duiba&projectId=" + CFG.projectId + "&redirectUrl=";</script><link href="//yun.duiba.com.cn/spark/v2/temp_base/1745200059036/styles/main.aaf33fccc23b55578f1b.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>"use strict";
CFG.___G___ = 'origin%09http%3A%2F%2Fgitlab2.dui88.com%2Fsparkprojects%2FKWW-520NumberGuessingGame-20250409%20(fetch)%3Borigin%09http%3A%2F%2Fgitlab2.dui88.com%2Fsparkprojects%2FKWW-520NumberGuessingGame-20250409%20(push)%3Bmaster%3Bwangzhujun%3B';</script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1744946993702/js/runtime-main.f8191cff.js" crossorigin="anonymous"></script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1744946993702/js/vendors.4a95563e.js" crossorigin="anonymous"></script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1744946993702/js/main.40495e6f.js" crossorigin="anonymous"></script></body></html>
\ No newline at end of file
CFG.___G___ = 'weiyan%3Bdaily_20250418%3Borigin%09git%40gitlab2.dui88.com%3Asparkprojects%2FKWW-520NumberGuessingGame-20250409.git%20(fetch)%3Borigin%09git%40gitlab2.dui88.com%3Asparkprojects%2FKWW-520NumberGuessingGame-20250409.git%20(push)%3B';</script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1745200059036/js/runtime-main.c920abe3.js" crossorigin="anonymous"></script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1745200059036/js/vendors.a83fc370.js" crossorigin="anonymous"></script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1745200059036/js/main.ce16ee31.js" crossorigin="anonymous"></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
!function(e){function r(r){for(var n,a,l=r[0],i=r[1],p=r[2],c=0,s=[];c<l.length;c++)a=l[c],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(f&&f(r);s.length;)s.shift()();return u.push.apply(u,p||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var i=t[l];0!==o[i]&&(n=!1)}n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={1:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,function(r){return e[r]}.bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="//yun.duiba.com.cn/spark/v2/temp_base/1744946993702/";var l=window.webpackJsonp=window.webpackJsonp||[],i=l.push.bind(l);l.push=r,l=l.slice();for(var p=0;p<l.length;p++)r(l[p]);var f=i;t()}([]);
//# sourceMappingURL=runtime-main.f8191cff.js.map
\ No newline at end of file
!function(e){function r(r){for(var n,a,l=r[0],i=r[1],p=r[2],c=0,s=[];c<l.length;c++)a=l[c],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(f&&f(r);s.length;)s.shift()();return u.push.apply(u,p||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var i=t[l];0!==o[i]&&(n=!1)}n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={1:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,function(r){return e[r]}.bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="//yun.duiba.com.cn/spark/v2/temp_base/1745200059036/";var l=window.webpackJsonp=window.webpackJsonp||[],i=l.push.bind(l);l.push=r,l=l.slice();for(var p=0;p<l.length;p++)r(l[p]);var f=i;t()}([]);
//# sourceMappingURL=runtime-main.c920abe3.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"js/runtime-main.f8191cff.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"//yun.duiba.com.cn/spark/v2/temp_base/1744946993702/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"js/runtime-main.c920abe3.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"//yun.duiba.com.cn/spark/v2/temp_base/1745200059036/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
{"numOfComponents":5048,"numOfProject":2266}
\ No newline at end of file
{"numOfComponents":5048,"numOfProject":2360}
\ No newline at end of file
......@@ -10,5 +10,5 @@ module.exports ={
"IMAGE_Q2": 0.8,
"RES_PATH": "/src/assets/",
"RES_PATH_PROD": "//yun.duiba.com.cn/spark/v2/temp_base/1744884311687",
"JS_PATH_PROD": "https://yun.duiba.com.cn/spark/v2/temp_base/1744946993702/js"
"JS_PATH_PROD": "https://yun.duiba.com.cn/spark/v2/temp_base/1745200059036/js"
}
\ No newline at end of file
export const plusProbability = [
{
name: 'plus',
radio: 0.2,
radio: 0.35,
symbolText: '+$'
},
{
name: 'multiplyZheng',
radio: 0.2,
radio: 0.05,
symbolText: 'x'
},
{
name: 'multiplyFen',
radio: 0.15,
radio: 0.05,
symbolText: 'x'
},
{
......@@ -21,7 +21,7 @@ export const plusProbability = [
},
{
name:'doublePlus',
radio: 0.2,
radio: 0.35,
symbolText: '+$'
},
]
......@@ -29,17 +29,17 @@ export const plusProbability = [
export const minusProbability = [
{
name: 'minus',
radio: 0.2,
radio: 0.37,
symbolText: '-$'
},
{
name: 'division',
radio: 0.2,
radio: 0.01,
symbolText: '÷'
},
{
name: 'multiplyFen',
radio: 0.15,
radio: 0.05,
symbolText: 'x'
},
{
......@@ -49,7 +49,7 @@ export const minusProbability = [
},
{
name: 'minusDouble',
radio: 0.2,
radio: 0.37,
symbolText: '-$'
},
]
......
......@@ -49,10 +49,10 @@ class GamePage extends Component {
}
componentDidMount() {
this.createAddition();
if(store.startInfo?.guide) {
modalStore.pushPop("GuideModal", {handleStartSvga: this.handleStartSvga})
if (store.startInfo?.guide) {
modalStore.pushPop("GuideModal", { handleStartSvga: this.handleStartSvga })
} else {
// this.doCount();
this.handleStartSvga(true)
......@@ -66,7 +66,7 @@ class GamePage extends Component {
}, () => {
!status && this.doCount()
})
}
countdownSeconds = (store.startInfo?.countdownSeconds || 60) * 1000;
......@@ -78,7 +78,7 @@ class GamePage extends Component {
setTimeout(() => {
if(this.countdownSeconds <= 0) {
if (this.countdownSeconds <= 0) {
store.submitScore(this.currentNumber);
this.gameOver = true;
this.setState({
......@@ -106,42 +106,35 @@ class GamePage extends Component {
this.leftSymbol = ''
// 随机生成加减
let addition = this.plusNum > 7 ? (Math.random() > 0.5 ? 'minus' : 'plus') : 'plus';
if(this.firstInFlag) {
if (this.firstInFlag) {
this.firstInFlag = false;
addition = 'plus';
}
if(this.currentNumber == 0 || this.currentNumber < 100) {
if (this.currentNumber == 0 || this.currentNumber < 100) {
addition = 'plus';
}
if(this.divNum >= 10) {
if (this.divNum >= 10) {
addition = 'minus';
}
if(this.currentNumber > 60000) {
addition ='minus';
if (this.currentNumber > 60000) {
addition = 'minus';
}
if(addition == 'plus') {
if (addition == 'plus') {
this.plusNum += 1;
}
// console.error("addition", addition, this.plusNum)
this.currentOpt = addition;
let symbolInfo1 = this.createSymbol(addition, -1);
this.leftSymbol = symbolInfo1.symbolName;
let symbolInfo2 = this.createSymbol(addition, 1);
this.leftInfo = symbolInfo1
this.leftNumber = this.calcNum(this.leftSymbol, -1)
// this.newNumber1 = this.calcNum(symbolInfo1.symbolName, -1);
// this.newNumber2 = this.calcNum(symbolInfo2.symbolName, 1);
// while (this.newNumber1 === this.newNumber2) {
// symbolInfo2 = this.createSymbol(addition, 1);
// this.newNumber2 = this.calcNum(symbolInfo2.symbolName, 1);
// }
// console.error(symbolInfo1, symbolInfo2);
let symbolInfo2 = this.createSymbol(addition, 1);
this.rightInfo = symbolInfo2
this.setState({
addition,
......@@ -157,55 +150,82 @@ class GamePage extends Component {
}
leftInfo = {}
rightInfo = {}
leftNumber = 0
leftSymbol = ''
// 生成计算字符
createSymbol = (addition, pos) => {
let probabilityList = addition == 'plus' ? plusProbability : minusProbability;
if(this.currentNumber < 20) {
probabilityList = probabilityList.filter(item => item.name!='division')
if (this.currentNumber < 1000) {
probabilityList = probabilityList.filter(item => item.name != 'division')
}
if(this.currentNumber < 600) {
probabilityList = probabilityList.filter(item => (item.name!='minus' && item.name!='minusDouble'))
if(this.currentNumber > 100) {
probabilityList = probabilityList.filter(item => item.name != 'multiplyZheng')
}
if(pos == 1) {
// if (this.currentNumber < 600) {
// probabilityList = probabilityList.filter(item => (item.name != 'minus' && item.name != 'minusDouble'))
// }
let newNum1 = 0
if (pos == 1) {
probabilityList = probabilityList.filter(item => item.name != this.leftSymbol)
if(this.leftSymbol == 'division') {
probabilityList = probabilityList.filter(item => item.name!= 'multiplyFen')
// if (this.leftSymbol == 'division') {
// probabilityList = probabilityList.filter(item => item.name != 'multiplyFen')
// }
// if (this.leftSymbol == 'multiplyFen') {
// probabilityList = probabilityList.filter(item => item.name != 'division')
// }
newNum1 = this.calcNum(this.leftSymbol, -1);
console.error(this.leftNumber)
if(this.currentOpt == 'plus' && Math.abs(newNum1 - this.currentNumber * 2) > 10) {
probabilityList = probabilityList.filter(item => item.name != 'multiplyZheng')
}
if(this.currentOpt == 'plus' && Math.abs(Math.ceil(this.currentNumber * 1.14 - newNum1)) > 10) {
probabilityList = probabilityList.filter(item => item.name != 'multiplyFen')
}
if(this.leftSymbol == 'multiplyFen') {
probabilityList = probabilityList.filter(item => item.name!='division')
if(this.currentOpt == 'minus' && Math.abs(Math.ceil(this.currentNumber * 0.5 - newNum1)) > 10) {
probabilityList = probabilityList.filter(item => item.name != 'multiplyFen')
}
if(this.currentOpt == 'plus' && (newNum1 - this.currentNumber - 10) > this.currentNumber * 2) {
probabilityList = probabilityList.filter(item => item.name != 'percent')
}
if(this.currentOpt == 'minus' && (this.currentNumber - newNum1 + 10) < Math.ceil(this.currentNumber * 0.01)) {
probabilityList = probabilityList.filter(item => item.name != 'percent')
}
if(Math.abs(newNum1 - this.currentNumber / 2) > 10) {
probabilityList = probabilityList.filter(item => item.name != 'division')
}
}
if(this.currentNumber < 100) {
probabilityList = probabilityList.filter(item => item.name== 'plus' || item.name == 'doublePlus')
}
// console.error("看看可选的列表", probabilityList, addition, this.leftSymbol, pos == 1 ? '右' : '左');
let probability = Math.random();
let symbolText = probabilityList[0].symbolText;
let symbolText = probabilityList[0].symbolText;
let symbolName = probabilityList[0].name;
for(let i = 0; i < probabilityList.length; i++) {
for (let i = 0; i < probabilityList.length; i++) {
const radioItem = probabilityList[i]?.radio;
probability -= radioItem;
if(probability <= 0) {
if (probability <= 0) {
symbolText = probabilityList[i].symbolText;
symbolName = probabilityList[i].name;
// if(pos == -1) this.leftSymbol = symbolName;
// console.error("leftSymbol", this.leftSymbol)
// if(pos == 1 && symbolName == this.leftSymbol) {
// if(i == probabilityList.length - 1) {
// symbolText = probabilityList[0].symbolText;
// symbolName = probabilityList[0].name;
// } else {
// symbolText = probabilityList[i + 1].symbolText;
// symbolName = probabilityList[i + 1].name;
// }
// }
break;
}
}
......@@ -217,10 +237,10 @@ class GamePage extends Component {
// } else {
// return this.createNum({symbolName: 'multiplyFen', symbolText: 'x'}, pos);
// }
return this.createNum({symbolName, symbolText}, pos);
return this.createNum({ symbolName, symbolText }, pos);
}
......@@ -236,133 +256,260 @@ class GamePage extends Component {
const symbolName = symbolInfo?.symbolName;
const symbolText = symbolInfo?.symbolText;
const operate = this.currentOpt == 'plus' ? 1 : -1;
// const operate = this.currentOpt == 'plus' ? 1 : -1;
const newNum1 = this.calcNum(symbolName, -1);
// 算比前一个数大还是小
const randomIndex = Math.random > 0.5 ? -1 : 1
const newNum1 = this.leftNumber;
console.error("newNum1", this.leftSymbol, newNum1)
// console.error("left", newNum1)
let number = 1;
let fen1 = 2;
let fen2 = 1;
switch(symbolName) {
switch (symbolName) {
case 'plus':
case 'doublePlus':
number = this.createSpecialNum(this.min, this.max);
let p1 = 1;
if(pos == 1) {
let newNum2 = this.currentNumber + number * operate;
if(symbolName == 'doublePlus') {
newNum2 = this.currentNumber + number * 2 * operate;
const maxDiff = 10;
const minDiff = -Math.min(10, newNum1 - this.currentNumber);
let targetDiff = this.createSpecialNum(minDiff, maxDiff);
// const newNum1 = this.calcNum(this.leftSymbol, -1);
console.error("target", targetDiff, newNum1)
if (targetDiff === 0) {
targetDiff = 1;
}
if(newNum1 == newNum2) {
number = this.createSpecialNum(this.min, number);
const targetResult = newNum1 + targetDiff;
number = targetResult - this.currentNumber;
// 确保 number 为正数且计算结果不等于 newNum1
// number = Math.max(1, targetResult - this.currentNumber);
// 如果计算结果等于 newNum1,调整 number
// if (this.currentNumber + number === newNum1) {
// number = number + 1;
// }
// const plusMin = Math.min(10, newNum1 - this.currentNumber);
// let plusCha = this.createSpecialNum(this.min, plusMin)
// const newPlus = newNum1 + targetDiff * randomIndex;
// number = newPlus - this.currentNumber < 0
if (this.currentNumber + number === newNum1) {
number = number + 1;
}
} else {
if(this.currentNumber <= 20) {
p1 = this.createSpecialNum(1, 10)
} else if(this.currentNumber > 20 && this.currentNumber <= 50) {
p1 = this.createSpecialNum(21, 50)
} else {
p1 = this.createSpecialNum(51, 99)
}
number = p1
}
break;
case 'minus':
// const _max = Math.floor(currentNum / 2);
number = this.createSpecialNum(this.min, Math.min(this.max, this.currentNumber));
if(pos == 1) {
let newNum2 = this.currentNumber - number;
if(newNum1 == newNum2) {
number = this.createSpecialNum(this.min, number);
case 'doublePlus':
let dP1 = 1;
if (pos == 1) {
const minDiff = -Math.min(10, newNum1); // 最小差值不能让结果小于0
const maxDiff = 10;
let targetDiff = this.createSpecialNum(minDiff, maxDiff);
console.error("target", targetDiff, newNum1)
if (targetDiff === 0) {
targetDiff = Math.random() > 0.5 ? 1 : -1;
}
const targetResult = newNum1 + targetDiff;
// 计算 number,确保结果为正数且与 newNum1 不相等
number = Math.max(1, Math.ceil((targetResult - this.currentNumber) / 2));
// 如果计算结果等于 newNum1,调整 number
if (this.currentNumber + number * 2 === newNum1) {
number = number + 1;
}
} else {
if(this.currentNumber <= 20) {
dP1 = this.createSpecialNum(1, 10)
} else if(this.currentNumber > 20 && this.currentNumber <= 50) {
dP1 = this.createSpecialNum(11, 25)
} else {
dP1 = this.createSpecialNum(26, 49)
}
number = dP1;
}
break;
case 'multiplyZheng':
number = this.createSpecialNum(2, 4);
if(pos == 1) {
let newNum2 = this.currentNumber * number;
if(newNum1 == newNum2) {
number = number + 1;
case 'minus':
const changeNum = this.createSpecialNum(this.min, Math.min(99, this.currentNumber));
if (pos == 1) {
// const mMin = Math.min(10, this.currentNumber - newNum1)
// let m1 = this.createSpecialNum(1, mMin)
// const maxDiff = Math.min(10, this.currentNumber - newNum1);
// const minDiff = -Math.min(10, newNum1);
// const targetDiff = this.createSpecialNum(minDiff, maxDiff);
// number = this.currentNumber - newNum1 - targetDiff * randomIndex
const maxDiff = Math.min(10, this.currentNumber - newNum1);
const minDiff = -Math.min(10, newNum1);
let targetDiff = this.createSpecialNum(minDiff, maxDiff);
if (targetDiff === 0) {
targetDiff = Math.random() > 0.5 ? 1 : -1;
}
const targetResult = newNum1 + targetDiff;
// 确保 number 为正数
number = Math.max(1, this.currentNumber - targetResult);
} else {
number = changeNum;
}
break;
case 'multiplyZheng':
number = 2
// const changeNum1 = this.createSpecialNum(this.min, 10);
// if (pos == 1) {
// number = Math.ceil((changeNum1 + newNum1) / this.currentNumber)
// } else {
// number = 2;
// }
break;
case 'multiplyFen':
if(this.currentOpt == 'plus') {
fen1 = this.createSpecialNum(2, 7);
if(fen1 == 7) {
fen2 = 8
if (pos == -1) {
if (this.currentOpt == 'plus') {
fen1 = this.createSpecialNum(2, 7);
if (fen1 == 7) {
fen2 = 8
} else {
fen2 = fen1 + 1
}
} else {
fen2 = fen1 + 1
fen1 = this.createSpecialNum(2, 9);
fen2 = this.createSpecialNum(1, Math.max(1, fen1 - 1));
}
// console.error("fen1", fen1, "fen2", fen2)
number = Math.round(fen2 / fen1);
} else {
fen1 = this.createSpecialNum(2, 9);
fen2 = this.createSpecialNum(1, Math.max(1, fen1 - 1));
}
// console.error("fen1", fen1, "fen2", fen2)
number = Math.round(fen2 / fen1);
if(pos == 1) {
let newNum2 = Math.floor(this.currentNumber * fen2 / fen1);
if(newNum1 == newNum2) {
if (this.currentOpt == 'plus') {
// const plusNum = this.createSpecialNum(this.min, 10);
const maxDiff = Math.min(10, this.currentNumber - newNum1);
const minDiff = -Math.min(10, newNum1);
let targetDiff = this.createSpecialNum(minDiff, maxDiff);
if (targetDiff === 0) {
targetDiff = Math.random() > 0.5 ? 1 : -1;
}
const newPlusNum = newNum1 + targetDiff;
let found1 = false
if(this.currentOpt == 'plus') {
for (let f1 = 2; f1 <= 8; f1++) {
for (let f2 = 3; f2 <= 9; f2++) {
const newNum1 = Math.floor(this.currentNumber * f2 / f1);
if (newNum2 !== newNum1) {
fen1 = f1;
fen2 = f2;
found1 = true;
break;
}
for (let f1 = 2; f1 <= 8; f1++) {
for (let f2 = 3; f2 <= 9; f2++) {
const newNum1 = Math.floor(this.currentNumber * f2 / f1);
if (newPlusNum === newNum1) {
fen1 = f1;
fen2 = f2;
found1 = true;
break;
}
if (found1) break;
}
} else {
let found2 = false
let newNum2 = Math.floor(this.currentNumber * fen2 / fen1);
for (let f1 = 2; f1 <= 9; f1++) {
for (let f2 = 1; f2 < f1; f2++) {
const temNum = Math.floor(this.currentNumber * f2 / f1);
if (temNum !== newNum2) {
fen1 = f1;
fen2 = f2;
found2 = true;
break;
}
if (found1) break;
}
if(!found1) {
fen2 = 9;
fen1 = 8;
}
} else {
const maxDiff = Math.min(10, this.currentNumber - newNum1);
const minDiff = -Math.min(10, newNum1);
let targetDiff = this.createSpecialNum(minDiff, maxDiff);
if (targetDiff === 0) {
targetDiff = Math.random() > 0.5 ? 1 : -1;
}
const newPlusNum = newNum1 + targetDiff;
// const minusNum = this.createSpecialNum(this.min, Math.min(newNum1, 10));
// const newMinusNum = newNum1 - minusNum;
let found2 = false
for (let f1 = 2; f1 <= 9; f1++) {
for (let f2 = 1; f2 < f1; f2++) {
const temNum = Math.floor(this.currentNumber * f2 / f1);
if (temNum === newPlusNum) {
fen1 = f1;
fen2 = f2;
found2 = true;
break;
}
if (found2) break;
}
if (found2) break;
}
if(!found2) {
fen2 = 2;
fen1 = 3;
}
}
}
break;
case 'percent':
number = this.createSpecialNum(1, 100);
if(pos == 1) {
let newNum2 = Math.round(this.currentNumber + 1 * operate * number * this.currentNumber / 100);
if(newNum1 == newNum2) {
if(number + 10 < 100) {
number = number + 10;
} else {
number = 10
if (pos == 1) {
// if(this.currentOpt == 'plus') {
// const per1Min = Math.min(10, newNum1 - this.currentNumber)
// const plusNum = this.createSpecialNum(this.min, per1Min);
// const newP1 = newNum1 + plusNum * randomIndex;
// number = Math.ceil(((newP1 / this.currentNumber) - 1) * 100);
// } else {
// const per2Min = Math.min(10, this.currentNumber - newNum1)
// const miunsNum = this.createSpecialNum(this.min, per2Min);
// const newP2 = newNum1 - miunsNum;
// number = Math.ceil((this.currentNumber - newP2) / this.currentNumber * 100);
// }
if(this.currentOpt == 'plus') {
// 目标:this.currentNumber * (1 + number/100) 与 newNum1 的差值在 -10 到 10 之间
const maxDiff = Math.min(10, newNum1);
const minDiff = -Math.min(10, newNum1 - this.currentNumber);
let targetDiff = this.createSpecialNum(minDiff, maxDiff);
if (targetDiff === 0) {
targetDiff = Math.random() > 0.5 ? 1 : -1;
}
const targetResult = newNum1 + targetDiff;
// 反推百分比:(targetResult / this.currentNumber - 1) * 100
number = Math.max(1, Math.ceil((targetResult / this.currentNumber - 1) * 100));
} else {
// 目标:this.currentNumber * (1 - number/100) 与 newNum1 的差值在 -10 到 10 之间
const maxDiff = Math.min(10, this.currentNumber - newNum1);
const minDiff = -Math.min(10, newNum1);
let targetDiff = this.createSpecialNum(minDiff, maxDiff);
if (targetDiff === 0) {
targetDiff = Math.random() > 0.5 ? 1 : -1;
}
const targetResult = newNum1 + targetDiff;
// 反推百分比:(1 - targetResult / this.currentNumber) * 100
number = Math.max(1, Math.ceil((1 - targetResult / this.currentNumber) * 100));
}
} else {
if(this.currentNumber < 100) {
number = this.createSpecialNum(1, 100);
} else if(this.currentNumber < 200) {
number = this.createSpecialNum(1, 50);
} else {
number = this.createSpecialNum(1, 25);
}
}
break;
case 'division':
number = 2
if(pos == 1) {
let newNum2 = this.currentNumber * number;
if(newNum1 == newNum2) {
if(number + 4 < Math.floor(this.currentNumber / 2)) {
number = number + 4;
} else {
number = Math.floor(this.currentNumber / 4)
}
}
}
break;
case 'minusDouble':
number = this.createSpecialNum(0, Math.min(99, Math.floor(this.currentNumber / 2)));
if(pos == 1) {
let newNum2 = this.currentNumber - number * 2;
if(newNum1 == newNum2) {
number = this.createSpecialNum(0, number);
if (pos == 1) {
const maxDiff = Math.min(10, this.currentNumber - newNum1);
const minDiff = -Math.min(10, newNum1);
let targetDiff = this.createSpecialNum(minDiff, maxDiff);
if (targetDiff === 0) {
targetDiff = 1;
}
const targetResult = newNum1 + targetDiff;
number = Math.max(1, Math.ceil((this.currentNumber - targetResult) / 2));
// 如果计算结果等于 newNum1,调整 number
if (this.currentNumber - number * 2 === newNum1) {
number = number + 1;
}
// number = Math.ceil((this.currentNumber - targetResult) / 2);
} else {
number = this.createSpecialNum(0, Math.min(99, Math.floor(this.currentNumber / 2)));
}
break;
}
......@@ -374,23 +521,24 @@ class GamePage extends Component {
symbolName,
symbolText
};
}
currentNumber = 1;
currentOpt = 'plus'
// 计算数字
calcNum(symbolName, index, yansuan) {
const {currentNum, symbolInfo1, symbolInfo2} = this.state;
calcNum(symbolName, index) {
const { currentNum, symbolInfo1, symbolInfo2 } = this.state;
let newNumber1 = this.currentNumber;
const symbolInfo = index == -1 ? symbolInfo1 : symbolInfo2;
// const symbolInfo = index == -1 ? symbolInfo1 : symbolInfo2;
const symbolInfo = index == -1 ? this.leftInfo : this.rightInfo
const operate = this.currentOpt == 'plus' ? 1 : -1;
// console.warn("operate", operate)
switch(symbolName) {
switch (symbolName) {
case 'plus':
case 'minus':
newNumber1 += symbolInfo?.number * operate;
......@@ -421,12 +569,12 @@ class GamePage extends Component {
// 选择数字
chooseNumber = (index) => {
if(this.gameOver) return;
if (this.gameOver) return;
if(!this.canChoose) return
if (!this.canChoose) return
this.canChoose = false
const {currentNum, addition, symbolInfo1, symbolInfo2} = this.state;
const { currentNum, addition, symbolInfo1, symbolInfo2 } = this.state;
let newNumber = this.currentNumber;
......@@ -447,12 +595,12 @@ class GamePage extends Component {
this.leftSymbol = ''
// 如果是加法 先判断选择的是不是比另一个大 如果不是那就不用计算了
let correctIndex = ''
if(addition == 'plus') {
// if (addition == 'plus') {
correctIndex = newNumber1 > newNumber2 ? -1 : 1;
if(newNumber1 == newNumber2) {
if (newNumber1 == newNumber2) {
correctIndex = index;
}
if(correctIndex != index && newNumber1 != newNumber2) {
if (correctIndex != index && newNumber1 != newNumber2) {
// console.error("选择错误", correctIndex, index)
store.playWrongSound();
this.setState({
......@@ -471,11 +619,11 @@ class GamePage extends Component {
return
}
} else {
correctIndex = index == 1 ? -1 : 1;
store.playWrongSound();
}
// } else {
// correctIndex = index == 1 ? -1 : 1;
// store.playWrongSound();
// }
newNumber = index == -1 ? newNumber1 : newNumber2;
......@@ -483,10 +631,10 @@ class GamePage extends Component {
// console.error("newNumber+++", this.currentNumber != this.state.currentNum)
if(this.currentOpt == 'plus' && this.currentNumber > 0 && this.currentNumber != this.state.currentNum) {
if (this.currentOpt == 'plus' && this.currentNumber > 0 && this.currentNumber != this.state.currentNum) {
this.divNum++;
}
if(this.currentOpt == 'minus' && this.divNum > 1 && this.currentNumber != this.state.currentNum) {
if (this.currentOpt == 'minus' && this.divNum > 1 && this.currentNumber != this.state.currentNum) {
this.divNum--;
}
......@@ -494,7 +642,7 @@ class GamePage extends Component {
// this.createNewElement();
this.updateNumElementsByOpt(this.currentOpt);
if(correctIndex === index) store.playRightSound();
if (correctIndex === index) store.playRightSound();
// console.warn("newNumber", this.currentNumber)
this.setState({
selectIndex: index,
......@@ -502,7 +650,7 @@ class GamePage extends Component {
correctIndex
})
}
currentArr = [{
......@@ -517,9 +665,9 @@ class GamePage extends Component {
const { numElements, currentNumber } = this.state;
let newArr = this.currentArr;
if(this.currentOpt == 'minus' && this.currentArr.length > 1) {
if (this.currentOpt == 'minus' && this.currentArr.length > 1) {
this.divNum--;
newArr = newArr.slice(0, newArr.length - 1);
console.warn("numElements", newArr, newArr.length - 1)
......@@ -588,7 +736,7 @@ class GamePage extends Component {
// 如果是 minus 类型且数组长度大于 1,则减少一个元素
numElements = numElements.slice(0, this.currentArr.length - 1);
// this.divNum--;
} else if(opt === 'plus' && this.currentNumber > 0){
} else if (opt === 'plus' && this.currentNumber > 0) {
// 否则增加一个元素
// const lastTop = numElements.length > 0 ? parseFloat(numElements[numElements.length - 1].top) : 3.71;
const newTop = 3.71 - 0.1 * this.currentArr.length;
......@@ -611,11 +759,11 @@ class GamePage extends Component {
handEnd = () => {
// setTimeout(() => {
this.createAddition();
this.canChoose = true
this.setState({
selectIndex: 0,
})
this.createAddition();
this.canChoose = true
this.setState({
selectIndex: 0,
})
// }, 500)
}
......@@ -643,12 +791,12 @@ class GamePage extends Component {
</div>
))}
<div className="leftNum" onClick={() => this.chooseNumber(-1)}>
{(correctIndex == selectIndex && selectIndex == -1) && <SvgaPlayer className="rightSvga" src={RES_PATH + "svga/6输出选中动效.svga"} loop={1} onEnd={this.handEnd}/>}
{(correctIndex != selectIndex && selectIndex == -1) && <SvgaPlayer className="wrongSvga" src={RES_PATH + "svga/7输出选错.svga"} loop={1} onEnd={this.handEnd}/>}
{(correctIndex == selectIndex && selectIndex == -1) && <SvgaPlayer className="rightSvga" src={RES_PATH + "svga/6输出选中动效.svga"} loop={1} onEnd={this.handEnd} />}
{(correctIndex != selectIndex && selectIndex == -1) && <SvgaPlayer className="wrongSvga" src={RES_PATH + "svga/7输出选错.svga"} loop={1} onEnd={this.handEnd} />}
{/* {selectIndex == -1 && <div className="selected"></div>} */}
{(addition == 'plus' && symbolInfo1?.symbolName != 'doublePlus' && symbolInfo1?.symbolName != 'minusDouble') && <div className="number1">
{symbolInfo1?.symbolName != 'multiplyFen' && <div className="text1">{symbolInfo1?.symbolText}{symbolInfo1?.number}{symbolInfo1?.symbolText == '+' ? '%' : ''}</div>}
{symbolInfo1?.symbolName == 'multiplyFen' && <div className="text2">{symbolInfo1?.symbolText}{symbolInfo1?.symbolText == '+'? '%' : ''}
{symbolInfo1?.symbolName == 'multiplyFen' && <div className="text2">{symbolInfo1?.symbolText}{symbolInfo1?.symbolText == '+' ? '%' : ''}
<div className="fenBox">
<div className="fen1">{symbolInfo1?.fen2}</div>
<div className="fen2">{symbolInfo1?.fen1}</div>
......@@ -657,7 +805,7 @@ class GamePage extends Component {
</div>}
{(addition == 'minus' && symbolInfo1?.symbolName != 'doublePlus' && symbolInfo1?.symbolName != 'minusDouble') && <div className="minusNumber1">
{symbolInfo1?.symbolName != 'multiplyFen' && <div className="text1">{symbolInfo1?.symbolText}{symbolInfo1?.number}{symbolInfo1?.symbolText == '-' ? '%' : ''}</div>}
{symbolInfo1?.symbolName == 'multiplyFen' && <div className="text2">{symbolInfo1?.symbolText}{symbolInfo1?.symbolText == '+'? '%' : ''}
{symbolInfo1?.symbolName == 'multiplyFen' && <div className="text2">{symbolInfo1?.symbolText}{symbolInfo1?.symbolText == '+' ? '%' : ''}
<div className="fenBox">
<div className="fen1">{symbolInfo1?.fen2}</div>
<div className="fen2">{symbolInfo1?.fen1}</div>
......@@ -670,12 +818,12 @@ class GamePage extends Component {
</div>}
</div>
<div className="rightNum" onClick={() => this.chooseNumber(1)}>
{(correctIndex == selectIndex && selectIndex == 1) && <SvgaPlayer className="rightSvga" src={RES_PATH + "svga/6输出选中动效.svga"} loop={1} onEnd={this.handEnd}/>}
{(correctIndex != selectIndex && selectIndex == 1) && <SvgaPlayer className="wrongSvga" src={RES_PATH + "svga/7输出选错.svga"} loop={1} onEnd={this.handEnd}/>}
{(correctIndex == selectIndex && selectIndex == 1) && <SvgaPlayer className="rightSvga" src={RES_PATH + "svga/6输出选中动效.svga"} loop={1} onEnd={this.handEnd} />}
{(correctIndex != selectIndex && selectIndex == 1) && <SvgaPlayer className="wrongSvga" src={RES_PATH + "svga/7输出选错.svga"} loop={1} onEnd={this.handEnd} />}
{/* {selectIndex == 1 && <div className="selected"></div>} */}
{(addition == 'plus' && symbolInfo2?.symbolName != 'doublePlus' && symbolInfo2?.symbolName != 'minusDouble') && <div className="number2">
{symbolInfo2?.symbolName != 'multiplyFen' && <div className="text1">{symbolInfo2?.symbolText}{symbolInfo2?.number}{symbolInfo2?.symbolText == '+' ? '%' : ''}</div>}
{symbolInfo2?.symbolName == 'multiplyFen' && <div className="text2">{symbolInfo2?.symbolText}{symbolInfo2?.symbolText == '+'? '%' : ''}
{symbolInfo2?.symbolName == 'multiplyFen' && <div className="text2">{symbolInfo2?.symbolText}{symbolInfo2?.symbolText == '+' ? '%' : ''}
<div className="fenBox">
<div className="fen1">{symbolInfo2?.fen2}</div>
<div className="fen2">{symbolInfo2?.fen1}</div>
......@@ -684,7 +832,7 @@ class GamePage extends Component {
</div>}
{(addition == 'minus' && symbolInfo2?.symbolName != 'doublePlus' && symbolInfo2?.symbolName != 'minusDouble') && <div className="minusNumber2">
{symbolInfo2?.symbolName != 'multiplyFen' && <div className="text1">{symbolInfo2?.symbolText}{symbolInfo2?.number}{symbolInfo2?.symbolText == '-' ? '%' : ''}</div>}
{symbolInfo2?.symbolName == 'multiplyFen' && <div className="text2">{symbolInfo2?.symbolText}{symbolInfo2?.symbolText == '+'? '%' : ''}
{symbolInfo2?.symbolName == 'multiplyFen' && <div className="text2">{symbolInfo2?.symbolText}{symbolInfo2?.symbolText == '+' ? '%' : ''}
<div className="fenBox">
<div className="fen1">{symbolInfo2?.fen2}</div>
<div className="fen2">{symbolInfo2?.fen1}</div>
......@@ -697,7 +845,7 @@ class GamePage extends Component {
</div>}
</div>
{showCountSvga && <div className="count321">
<SvgaPlayer className='countSvga' src={RES_PATH + "svga/5倒计时.svga"} loop={1} onEnd={() => this.handleStartSvga(false)}/>
<SvgaPlayer className='countSvga' src={RES_PATH + "svga/5倒计时.svga"} loop={1} onEnd={() => this.handleStartSvga(false)} />
</div>}
</div>
);
......
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