本站已关停,现有内容仅作科研等非赢利用途使用。特此声明。
查看: 3066|回复: 1
打印 上一主题 下一主题

四月GDG西安西电俱乐部编程马拉松作品展示 - crarytyper

[复制链接]
跳转到指定楼层
1#
发表于 2013-4-18 21:48:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 davidx 于 2013-4-18 21:49 编辑

四月份, 我们在西电举办了第一届GDG西安西电俱乐部编程马拉松比赛. 本次比赛, 我们一共有6支队伍完成了比赛, 并展示了作品.
接下来的一段时间, 我们会一个一个给大家展示我们的童鞋们辛苦做出来的作品.

这次, 我们将给大家介绍的是: crazytyper.
很让我惊讶的是, 作者可以在3天的时间内, 从头开始开发这个作品, 并且顺利完成, 同时, 在展示的时候, 除了一个按钮没有做, 我们没有看到这个软件有任何明显的bug, 实在是难能可贵.

简介:
crazytyper是利用python语言以及wxpython ui库写成的一款**英文练习打字软件**,目的是练习校准指法以及提高打字的正确率和速度,面向人群为刚接触计算机的儿童学生,或急需提高打字速度的计算机专业人员。

技术细节:
crazytpyer的主界面主要又功能按钮和输入框组成。
1.输入框
        * 使用了wx.TextCtrl作为基类,定义为只读,检测键盘敲击引发的wx.EVT_CHAR事件,利用事件的GetKeyCode()方法与当前光标位的字符进行比对。随后光标位后移。
        * 由于原有的wx.TextCtrl对鼠标的事件有默认的相应,影响输入框的正常运行,遂将wx.EVT_LEFT_DOWN 和 wx.EVT_RIGHT_DOWN事件处理函数绑定为pass
2.按钮
        * 指法图示:目前只是显示一张打字指法示意图。
        * 选择教程:目前还没有绑定行为,以后会制作不同难度的素材,制作循序渐进的教程。
        * 自定义练习:利用wx.FileDialog文件选择组件,自定义选择素材,所选择的素材经过mod_InitFile的抓换,将'\n'变成'↲\n',是为了将空格和回车区分开。
        * 小游戏:目前还没有开发,准备后期使用pygame开发。
        * 历史记录:每一次打字完成后,都会将正确率和平均速度存入log文件里,利用wx.lib.plot进行绘图。显示点图和折线图,观察进步情况。

感谢作者, 这么优秀的软件, 作者一定也没有吝啬, 毅然决然的选择了开源, 开源地址为: https://github.com/coolbit-in/project_crazytyper

对项目的一些改进建议:

1. 一般来说, python的module名字, 都是小写的, 也不常用_的
2. 更改一下目录结构, 变成libs+bin的方式, 即所有的module, 函数, 类等, 都放进一个package里, 外面只放一个调用程序. 这样的好处是, 方便打包.
3. 按照linux的目录结构, 将对应的文件放入合适的位置, 比如图片文件, 比如界面的xml文件
4. 上面所有的都改进了后, 可以考虑打包成linux的软件包, 比如rpm, deb等

下一次, 我们将为大家介绍另一个作品: FaceCome.

PastedGraphic-1.png (595.77 KB, 下载次数: 4)

crazytype截图

crazytype截图
ChinaGDG.com
回复

使用道具 举报

2#
发表于 2013-4-18 21:58:19 | 只看该作者
确实相当不错。
ChinaGDG.com
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表