static private Move BestAbsorbedBy(Component component, Combinable combinable) { PatchPattern unification = component.PatchPattern().UnifyOrNull(combinable.PatchPattern()); if (unification != null) { Move bestMove = new MergeInPatch(component, combinable, unification); return(bestMove); } else { return(null); } }
static private Move BestRightOrNull(Component component, Combinable combinable) { Move aMove = BestRightLeftOrNull(component, combinable, combinable.PatchPattern(), component.PatchPattern()); return(aMove); }