from snake_game import Snake import time import random snake = Snake(20, True) debug = False best_score = 0 while 1: time.sleep(0.03) if(debug): move = snake.do_move(0) else: move = snake.do_move(random.randint(0,4)) print(move) if(move['reward'] < 0): snake.reset() elif(snake.get_score() > best_score): best_score = snake.get_score()
bestScore = score print('New Best Score : ' + str(bestScore) + ' a ' + str(datetime.datetime.now())) agent.save() if (reward < -1): #print('Total reward : ' + str(lastTotalReward)) lastTotalReward = 0 snake.reset() iteration += 1 observation = snake.get_observation() state_control = observation['state_control'] snake_location = observation['snake_location'] state = get_state(grid_size, snake_location, state_control) action = agent.pickAction(state, True) new_observation = snake.do_move(agent.getSelectedAction(action)) reward = new_observation['reward'] lastTotalReward += reward new_state_control = new_observation['state_control'] new_snake_location = new_observation['snake_location'] next_state = get_state(grid_size, new_snake_location, new_state_control) agent.train(state, action, reward, next_state, True) print('Best Score : ' + str(bestScore))