Merge pull request #23 from JPaulMora/master

OK, Ready!
Esse commit está contido em:
Ivan Seidel
2016-10-25 17:03:18 -02:00
commit de GitHub
2 arquivos alterados com 34 adições e 27 exclusões
+8 -3
Ver Arquivo
@@ -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
Ver Arquivo
@@ -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;