用户:
治愈绾兮查看:77 回复:62 评论:77 创建时间:2022-01-25T14:20:03
效果图:
具体效果:
这个算法的思路是:获取输入、根据拼音查找字、打印候选字、通过按键将选择的字放入变量里,打印文本。
第一步:获取输入,我们先设置一个“当前拼音”变量,通过键盘按键获取输入的字母,并且发送一个广播,让打印角色打印候选字,简单来说就是复制粘贴的活,我这里只展示了A-G。(tips:建议做完后运行检查一遍,因为kitten4不稳定,容易判断错误)

第二步:根据拼音查找字,算法大体不难,主要是需要汉字与对应拼音的数据,算法思路是通过用户输入的拼音在大数据中查找汉字,当用户输入的不是拼音时,如果还没输入完,也就是候选字中没有汉字,并且拼音长度小于等于6(因为拼音最长是6个字母,例如zhuang),先看算法:
这里呢,我用了“字”和“拼音”两个列表,是我用python搞来的,你们可以去网上找找
第三步:打印候选字,这个比较简单,直接看代码吧,就是把候选字挨个打印下来,不过按屏幕的大小有的音有很多字,显示不全,所以我用了左右键控制,用变量来记录查看的位置:
打印代码:

左右键控制代码:

第四步:通过按键将选择的字放入变量里,这里我用1~5五个数字键选字,并把字放入变量“文本”中。

第五步:打印文本,思路与打印候选字基本一样,只是复杂了一点,上代码:
其实,在我的作品中,还有英文输入法、上下键选择浏览位置等功能,但是英文太简单,上下选择又太难,所以不展示出来了。
以上代码运用于《打字机》中,未经许可,禁止转载!!!
SCS_user_LoeheodVOQ在python下载xpinyin库,找到源代码,里面有个dat文件,用文本文档打开会发现左边是Unicode号码,右边是拼音,Unicode编码用python转换一下就变成了汉字(代码:f'\u{index}'.encode('utf-8').decode('unicode_escape'),index是str的unicode编码,注意index前面要补0)
点赞0
评论