3ae @verb #1971:"robot" this none this rxdo #9342 @program #1971:"robot" this none this "Checks the rules, and if none applied, makes random move." if (this.move > 0 && this.move < 8) if (answer = this:reflex_rules(this.move % 2 ? "O" | "X")) return answer elseif (answer = this:reflex_rules(this.move % 2 ? "X" | "O")) return answer endif for big_rule in (this.rules) suspend(0) for rule in (this:mirror(big_rule)) ok = 0 go = {} for pointer in [1..9] if ((letter = rule[pointer]) == this.board[pointer]) ok = ok + 1 elseif (letter == "+" && this.board[pointer] == " ") ok = ok + 1 go = {@go, pointer} endif endfor if (ok == 9) return go[random(length(go))] endif endfor endfor endif answer = random(9) while (this.board[answer] != " ") answer = random(9) endwhile return answer . 0