Я пытаюсь визуализировать усиливающий агент, движущийся через двумерную сетку.Я закодировал визуализацию с помощью canvas, и каждый раз, когда мой агент делает ход, я пытаюсь обновить сетку.Я надеялся увидеть анимацию, но вместо этого я ничего не вижу, пока агент не завершит все эти шаги и не увижу окончательное состояние.Если я перейду к инструментам Google Chromes Developer, то смогу увидеть отдельные шаги.Я не думаю, что проблема в том, что мой код просто работает быстро, потому что каждый шаг занимает пару секунд.
Моя реализация выглядит следующим образом: одна функция gridWorld()
вызывается один раз для создания нового объекта.и executeAction
звонил каждый раз, когда я хочу нарисовать.Как показано, я использовал ctx.save()
и ctx.restore()
, но это всего лишь попытка решить эту проблему, и, похоже, ничего не изменилось.
Спасибо
var execute gridWorld = function(action) {
var canvas = document.getElementById("grid");
this.ctx = canvas.getContext("2d");
this.executeAction = function(action) {
this.ctx.save()
// ... Do reinforcement learning stuff
// For every cell in grid, do:
this.ctx.fillStyle = "rgb(244,0,0)"
this.ctx.fillRect(positionX, poisitonY, 10,10)
this.ctx.restore();
}
}