@@ -8,7 +8,7 @@ var Scanner = require ('./Scanner');
|
||||
// COLOR DEFINITIONS
|
||||
// This is the Dino's colour, also used by Obstacles.
|
||||
var COLOR_DINOSAUR = '535353';
|
||||
|
||||
var DARK_COLOR_DINO = 'ACACAC';
|
||||
|
||||
var GameManipulator = {
|
||||
|
||||
@@ -207,7 +207,12 @@ GameManipulator.startNewGame = function (next) {
|
||||
|
||||
// Press space to begin game (repetidelly)
|
||||
_startKeyInterval = setInterval(function (){
|
||||
robot.keyTap(' ');
|
||||
// Due to dino slowly gliding over the screen after multiple restarts, its better to just reload the page
|
||||
robot.keyTap('r','command');
|
||||
setTimeout(function() {
|
||||
// Once reloaded we wait 0.5sec for it to let us start the game with a space.
|
||||
robot.keyTap(' ');
|
||||
}, 500);
|
||||
}, 300);
|
||||
|
||||
// Refresh state
|
||||
@@ -429,4 +434,4 @@ GameManipulator.focusGame = function (){
|
||||
robot.mouseClick('left');
|
||||
}
|
||||
|
||||
module.exports = GameManipulator;
|
||||
module.exports = GameManipulator;
|
||||
|
||||
+26
-24
@@ -5,6 +5,27 @@ var fs = require('fs');
|
||||
var screen = blessed.screen()
|
||||
|
||||
var UI = {};
|
||||
var savegame = function(){
|
||||
var jsonGenomes = [];
|
||||
for (var k in UI.learner.genomes) {
|
||||
jsonGenomes.push(UI.learner.genomes[k].toJSON());
|
||||
}
|
||||
|
||||
UI.logger.log('Saving '+jsonGenomes.length+' genomes...');
|
||||
|
||||
var dir = './genomes';
|
||||
var fileName = dir + '/gen_'+UI.learner.generation+'_'+Date.now()+'.json';
|
||||
fs.writeFile(fileName, JSON.stringify(jsonGenomes), function (err){
|
||||
if (err) {
|
||||
UI.logger.log('Failed to save! '+err);
|
||||
} else {
|
||||
UI.logger.log('Saved to '+fileName);
|
||||
}
|
||||
|
||||
UI.refreshFiles();
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
|
||||
// Initialize UI objects
|
||||
@@ -65,6 +86,7 @@ UI.init = function (gameManipulator, learner) {
|
||||
|
||||
|
||||
// Callback for Loading genomes and focusing tree
|
||||
screen.key(['l','L'], UI.savesTree.focus.bind(UI.savesTree));
|
||||
UI.savesTree.on('click', UI.savesTree.focus.bind(UI.savesTree));
|
||||
UI.savesTree.on('select', function (item){
|
||||
|
||||
@@ -94,28 +116,8 @@ UI.init = function (gameManipulator, learner) {
|
||||
align: 'center',
|
||||
});
|
||||
|
||||
UI.btnSave.on('click', function (){
|
||||
|
||||
var jsonGenomes = [];
|
||||
for (var k in UI.learner.genomes) {
|
||||
jsonGenomes.push(UI.learner.genomes[k].toJSON());
|
||||
}
|
||||
|
||||
UI.logger.log('Saving '+jsonGenomes.length+' genomes...');
|
||||
|
||||
var dir = './genomes';
|
||||
var fileName = dir + '/gen_'+UI.learner.generation+'_'+Date.now()+'.json';
|
||||
fs.writeFile(fileName, JSON.stringify(jsonGenomes), function (err){
|
||||
if (err) {
|
||||
UI.logger.log('Failed to save! '+err);
|
||||
} else {
|
||||
UI.logger.log('Saved to '+fileName);
|
||||
}
|
||||
|
||||
UI.refreshFiles();
|
||||
});
|
||||
|
||||
});
|
||||
UI.btnSave.on('click', savegame())
|
||||
screen.key(['o','O'], savegame());
|
||||
|
||||
screen.key(['escape', 'q', 'C-c'], function(ch, key) {
|
||||
return process.exit(0);
|
||||
@@ -151,7 +153,7 @@ UI.refreshFiles = function (){
|
||||
var files = fs.readdirSync('./genomes');
|
||||
for (var k in files) {
|
||||
if (files[k].indexOf('.json') >= 0) {
|
||||
|
||||
|
||||
fileData.children.push({
|
||||
name: files[k],
|
||||
isFile: true,
|
||||
@@ -204,4 +206,4 @@ UI.render = function () {
|
||||
// Continuously render screen
|
||||
setInterval(UI.render, 25);
|
||||
|
||||
module.exports = UI;
|
||||
module.exports = UI;
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário