Основная идея заключается в создании карты персонажей и их положений на клавиатуре.Затем вы можете использовать простую формулу расстояния, чтобы определить, насколько близко они находятся.
Например, рассмотрим левую сторону клавиатуры:
1 2 3 4 5 6
q w e r t
a s d f g
z x c v b
Символ a
имеет позицию [2, 0]
и символ b
имеют позицию [3, 4]
.Формула их расстояния друг от друга:
sqrt((x2-x1)^2 + (y2-y1)^2);
Таким образом, расстояние между a
и b
равно sqrt((4 - 0)^2 + (3 - 2)^2)
Это займет немного усилий, чтобы отобразитьключи в прямоугольной сетке (мой пример не идеален, но он дает вам идею).Но после этого вы можете построить карту (или словарь), и поиск будет простым и быстрым.