From dcbbe1f16380670223bdc83dcd78959b507ee071 Mon Sep 17 00:00:00 2001 From: ksthicke <85892703+ksthicke@users.noreply.github.com> Date: Thu, 16 May 2024 19:51:24 -0500 Subject: [PATCH] move PvE code to store.js --- src/renderer/components/PVLines.vue | 22 ---------------------- src/renderer/components/SettingsTab.vue | 6 ++++-- src/renderer/engine/driver.js | 4 +++- src/renderer/engine/index.js | 2 +- src/renderer/store.js | 7 +++++++ 5 files changed, 15 insertions(+), 26 deletions(-) diff --git a/src/renderer/components/PVLines.vue b/src/renderer/components/PVLines.vue index 3a677fdf..82ddaf37 100644 --- a/src/renderer/components/PVLines.vue +++ b/src/renderer/components/PVLines.vue @@ -151,28 +151,6 @@ export default { this.originalMultiPV = this.engineSettings.MultiPV this.updateLines() }, - enginetime () { - if (this.active && this.PvE && !this.turn) { - if (this.PvEValue === 'time') { - if (this.enginetime >= this.PvEInput) { - if (this.lines[0] != null) { - this.onClick(this.lines[0]) - } - } - } else if (this.PvEValue === 'nodes') { - if (this.enginetime === 60000) { - this.onClick(this.lines[0]) - } - } else if (this.PvEValue === 'depth') { - if (this.enginetime === 60000) { - this.onClick(this.lines[0]) - } - if (this.enginetime >= 5000 && this.depth === this.seldepth) { - this.onClick(this.lines[0]) - } - } - } - }, nodes () { if (this.active && this.PvE && !this.turn) { if (this.PvEValue === 'nodes') { diff --git a/src/renderer/components/SettingsTab.vue b/src/renderer/components/SettingsTab.vue index fc684159..5a92b5d4 100644 --- a/src/renderer/components/SettingsTab.vue +++ b/src/renderer/components/SettingsTab.vue @@ -252,12 +252,14 @@ export default { case 'nodes': this.$store.dispatch( 'setPvEParam', - 'go nodes ' + this.PvEInput * 1000000 + 'go nodes ' + this.PvEInput * 1000000 + ' movetime 60000' ) this.$store.dispatch('setPvEInput', this.PvEInput * 1000000) break case 'depth': - this.$store.dispatch('setPvEParam', 'go depth ' + this.PvEInput) + this.$store.dispatch( + 'setPvEParam', + 'go depth ' + this.PvEInput + ' movetime 60000') this.$store.dispatch('setPvEInput', this.PvEInput) break default: diff --git a/src/renderer/engine/driver.js b/src/renderer/engine/driver.js index a86c6ccd..e3e94a09 100644 --- a/src/renderer/engine/driver.js +++ b/src/renderer/engine/driver.js @@ -122,7 +122,9 @@ export default class EngineDriver { break } case 'bestmove': - this.events.emit('bestmove') + const words = line.split(' ') + const ucimove = words[1] + this.events.emit('bestmove', ucimove) break } } diff --git a/src/renderer/engine/index.js b/src/renderer/engine/index.js index 31a075b3..90ae214a 100644 --- a/src/renderer/engine/index.js +++ b/src/renderer/engine/index.js @@ -60,7 +60,7 @@ export class Engine extends EventEmitter { // run main engine this.mainWorker.postMessage({ - payload: { binary, cwd, listeners: ['io', 'info'] }, + payload: { binary, cwd, listeners: ['io', 'info', 'bestmove'] }, type: 'run' }) diff --git a/src/renderer/store.js b/src/renderer/store.js index 9310b46f..60c29026 100644 --- a/src/renderer/store.js +++ b/src/renderer/store.js @@ -690,6 +690,12 @@ export const store = new Vuex.Store({ engine.send(context.getters.PvEParam) context.commit('setEngineClock') }, + PvEMakeMove (context, payload) { + const state = context.state + if (state.active && state.PvE && !state.turn) { + context.dispatch('push', { move: payload, prev: context.getters.currentMove[0] }) + } + }, setActiveTrue (context) { context.commit('active', true) }, @@ -1471,4 +1477,5 @@ ffish.onRuntimeInitialized = () => { // capture engine info engine.on('info', info => store.dispatch('updateMultiPV', info)) + engine.on('bestmove', move => store.dispatch('PvEMakeMove', move)) })()