一,思路分析
判断手指滑动的方向符不符合,符合的话将手指滑过的字符记录起来,如果方向正确的话,最后抬手时将滑过的字符与我们正确的单词进行比较。
二,斜线方向的判断
这个程序总的都不是很难,唯一一个需要注意的点是斜线方向的判断,由于我们手指划过斜线时可能会同时划过其他的方块,我们在这种情况下要如何判断方向是不是符合的。
我们可以发现,当我们手指只划过1-2个方块时,我们既可能是划了一条直线,也可能是一条没有到达对角方块的斜线,因此,我们只有在手指划过三个方块时才会对方向进行初次的判断,如果是斜线的话必然会有两个方块的位置处于对角线上。后续再划过方块时,我们可以根据已经有的当前线的方向和新加入这个方块之后访问过的字符数组中的最后四个的方向进行比较,如果是相同则说明该次滑动是合法的,否则不合法,我们将方向设置为error,后续的滑动不会再记录。
为什么上面判断时是3个方块,但到了再判断时反而是四块,因为我上面初次判断斜线方向时是根据的有两个方块在对角线上,但这样对于一个长点的斜线来说会出现一些错误的情况,因为我在这里的想让手指在同个方向上往回滑也是允许的,所以我只能使用最后