Python 如何确定通过键盘的最佳路径

Python 如何确定通过键盘的最佳路径,python,algorithm,keyboard,Python,Algorithm,Keyboard,我正试图在电子游戏中实现打字过程的自动化。玩家可以使用屏幕上的QWERTY键盘布局,通过控制杆(上、下、左、右)来选择要键入的字母。我想知道是否有一个Python模块(或者我可以探索的其他资源)可以帮助我的程序在输入给定消息中的每个字母时找到键盘上的路径。换句话说,如果输入的第一个字母是“A”,下一个字母是“B”,模块就会知道程序应该在键盘上向下移动1个空格,向右移动4个空格 目前,我让程序在键入每个字母后重置为“G”键(允许我在程序解析所需消息中的每个字符时使用固定方向)。正如您可以想象的那样

我正试图在电子游戏中实现打字过程的自动化。玩家可以使用屏幕上的QWERTY键盘布局,通过控制杆(上、下、左、右)来选择要键入的字母。我想知道是否有一个Python模块(或者我可以探索的其他资源)可以帮助我的程序在输入给定消息中的每个字母时找到键盘上的路径。换句话说,如果输入的第一个字母是“A”,下一个字母是“B”,模块就会知道程序应该在键盘上向下移动1个空格,向右移动4个空格


目前,我让程序在键入每个字母后重置为“G”键(允许我在程序解析所需消息中的每个字符时使用固定方向)。正如您可以想象的那样,这是非常低效的,并且首先无法实现自动键入的目的

将每个字母关联到一个位置

例如,Q是(0,0),W是(0,1),Z是(0,2)。。。A(1,0)

这种方法很容易找到最短路径(简单向量减法)

要计算路径Q->S:


(0,0)-(1,1)=(-1,-1)所以你需要先按1向下,然后按1向右。

你可以先从每个键进行bfs,以获得到其他键的最佳路径,然后在计算中使用。你能不能将键盘抽象为字母网格,然后应用?谢谢,这是一个很好的解决方案。