var canvas; const WAITING = 0; const RUNNING = 1; const UP = 0; const RIGHT = 1; const DOWN = 2; const LEFT = 3; const RED = 0; const BLUE = 1; const GREEN = 2; const YELLOW = 3; const PURPLE = 4; const PINK = 5; const BLACK = 6; const GRAY = 7; var BOT_X = 0 var BOT_Y = 0 var BOT_DIR = RIGHT var BELTDOWN = {type:"BELT",direction:DOWN/*,direction2 - defines a secondary direction. For two belts at once.*/} var BELTRIGHT = {type:"BELT",direction:RIGHT} var BELTUP = {type:"BELT",direction:UP} var BELTLEFT = {type:"BELT",direction:LEFT} var BRANCHDOWN = {type:"BRANCH",direction:DOWN,color1:RED,color2:BLUE} //color 1 points left, color 2 points right var BRANCHLEFT = {type:"BRANCH",direction:LEFT,color1:RED,color2:BLUE} var BRANCHRIGHT = {type:"BRANCH",direction:RIGHT,color1:RED,color2:BLUE} var BRANCHUP = {type:"BRANCH",direction:UP,color1:RED,color2:BLUE} var WRITERDOWN = {type:"WRITER",direction:DOWN,color1:RED,color2:BLUE} //color 1 points left, color 2 points right var WRITERLEFT = {type:"WRITER",direction:LEFT,color1:RED,color2:BLUE} var WRITERRIGHT = {type:"WRITER",direction:RIGHT,color1:RED,color2:BLUE} var WRITERUP = {type:"WRITER",direction:UP,color1:RED,color2:BLUE} var lastGameUpdate = 0; var gameSpeed = 1000/1; var gameState=WAITING; var LEVEL1 = [ [{},{},{...BELTDOWN},{...BELTLEFT},{...BELTLEFT},], [{},{},{},{},BELTUP,], [{},{...BELTDOWN},{},{},{...BELTUP},], [{},{...BELTRIGHT},{...BELTRIGHT},{...BELTRIGHT},{...BELTUP},], [{},{},{},{},{},],] var gameGrid= [] function createGrid(width,height) { var grid = [] for (var i=0;i{ step() draw() },1000/60) console.log("Running")