public AI(string brain) { brainString = brain; this.brain = new LogicTree(brain); /** Tools and Abilities: * PriorityQueue * Active Element * Questions: * G/g Active Element >. Queue Front * L/l Active Element <. Queue Front * V/v Active Element is valid input location * Actions: * Q Add Active Element to Queue * P Add Active Element to Priority Queue * N Get the next priority queue * W Active Element = length of input * D Dequeue into Active Element * + +1 to Active Element * - -1 to Active Element * O print Active Element * I get the Active Element'th item from the input, give to Active Element * F End/Submit * */ decode['G'] = "if (active > current.peek()) {"; decode['g'] = "}"; decode['L'] = "if (active < current.peek()) {"; decode['l'] = "}"; decode['V'] = "if (active >= 0 && active < input.length) {"; decode['v'] = "}"; decode['Q'] = "current.enqueue(active);"; decode['P'] = "current.priorityEnqueue(active);"; decode['N'] = "current = nextQueue();"; decode['D'] = "active = current.dequeue();"; decode['A'] = "active += current.dequeue();"; decode['+'] = "active++;"; decode['-'] = "active--;"; decode['O'] = "print(active)"; decode['I'] = "active = input[active];"; decode['F'] = "return;"; }
public AIEnumerator(LogicTree brain, int[] input) { state = new State(); this.brain = brain; this.input = input; }