Okay this is my idea for a recursive
PatternMatcher
- find all matches for the first of x amount of turns to match
- store matches in new array of matches.
- re-call the method 2 which has index. and is a exact replica of first only it try's to match the data right after your index