@FXML
	void startPressed(ActionEvent event){
		if(!reseting){
			System.out.println("Starting without reset");
			//Main.MACHINE = new AI();
			if(getInput()){
				Main.MACHINE.setAlpha(alpha);
				Main.MACHINE.setGamma(gamma);
				Main.MACHINE.setGoalR(goalR);
				Main.MACHINE.setGoalC(goalC);
				Main.MACHINE.setGoalReward(reward);
				Main.MACHINE.setLambda(lambda);
				Main.MACHINE.setLambdaDecay(lambdaDecay);
				Main.MACHINE.setRewardDecay(rewardDecay);
				paused = false;
				stepping = false;
				pauseButton.setVisible(true);
				startButton.setVisible(false);
				stopButton.setVisible(true);
				stepButton.setVisible(false);
				resetButton.setVisible(false);
				started = true;
				if (clockTimer == null){
					clock = 0;
					runTimerLabel.setText(0 +"");
					startTimerLoop();
				} else {
					clock = 0;
					clockTimer.cancel();
					clockTimer = null;
					runTimerLabel.setText(0 +"");
					startTimerLoop();
				}
				pausePressed(event);
			}
			
		} else {
			if (getInput()){
				System.out.println("Starting with reset");
				buildColorTable();
				pauseButton.setVisible(true);
				startButton.setVisible(false);
				stopButton.setVisible(true);
				stepButton.setVisible(false);
				resetButton.setVisible(false);
				Main.MACHINE = new AI(goalR, goalC, startR, startC, seedMin, seedMax, alpha, gamma, lambda, lambdaDecay, seedReward, 0, rewardDecay);
				Main.MACHINE.seedQTable();
				makeWalls();
				Main.MACHINE.initQTableAndBoard();
				Main.MACHINE.qtable[goalR][goalC].setReward(reward);
				if(random){
					setStartPos();
					moves.add(new Move(startR,startC));
				} else {
					moves.add(new Move(startR,startC));
				}
				buildArrows();
				updateBoard();
				R = startR;
				C = startC;
				
				started = true;
				reseting = false;
				
				pausePressed(event);
				startTimerLoop();
				startLoop();
			} 
		}
	}