// Cloned by Eoghan Murphy on 7 Nov 2018 from Mind "Cloned Simple Mind" by Eoghan Murphy // Please leave this clone trail here.// Cloned by Eoghan Murphy on 5 Nov 2018 from Mind "Simple Mind" by Starter user // Please leave this clone trail here.// ==== Starter Mind ===============================================================================================// (c) Ancient Brain Ltd. All rights reserved.// This code is only for use on the Ancient Brain site.// This code may be freely copied and edited by anyone on the Ancient Brain site.// This code may not be copied, re-published or used on any other website.// To include a run of this code on another website, see the "Embed code" links provided on the Ancient Brain site.// ==================================================================================================================// =================================================================================================// Sample Mind for simple starter World // =================================================================================================// World tells us agent position and enemy position// World does not tell us of existence of walls// if return invalid move (not empty square) World just ignores it and we miss a turn // 0 -x// 1 +x// 2 +y// 3 -yvar grid_width =20;var grid_height =20;var grid =newArray(grid_height);var enemyX =0;var enemyY =0;functionMind(){this.newRun =function(){
initialise_grid();};this.getAction =function( x ){
enemyX = x[2]
enemyY = x[3]
update_grid();
myX = x[0];
myY = x[1];return(consider_options());};this.endRun =function(){};}function initialise_grid(){var row =newArray(grid_width);for(i=0;i<grid_width;i++){
row[i]=0}for(i=0; i<grid_height;i++){
grid[i]= row.slice(0);}for(i =1; i < grid_height -1; i++){for(j =1; j < grid_width -1; j++){
grid[i][j]=1;}}}function update_grid(){for(var index in grid){for(var item_index in grid[index]){if(grid[index][item_index]!==0){
grid[index][item_index]= value([item_index, index], enemyX,enemyY);}}}}function value(coords, eX, eY){var val =Math.pow((coords[0]- eX),2)+Math.pow((coords[1]- eY),2);
val =Math.sqrt(val);return val;}function consider_options(){
possible =[]
possible.push([grid[myY][myX -1],0]);
possible.push([grid[myY][myX +1],1]);
possible.push([grid[myY +1][myX],2]);
possible.push([grid[myY -1][myX],3]);var best =[0,-1];for(var index in possible){if(possible[index][0]> best[0]){
best = possible[index];}}
console.log(possible);return best[1];}