前言
因为我们班的英语老师用ppt快速切换的原理做了一个点名器,但并不能做到真正的随机,每次重复滚动名单,实际使用中重复的次数还挺多,所以我就想着弄一个能够做到以下几点的更好用的点名器:
- 真正的随机抽取
- 可以连抽
- 可以保存抽取记录
- 操作简单
以上是2022年09月10日在B站专栏发布时的前言,随着时间的推移,点名器已经从正式发布初的3.9版本更新迭代到了5.6。
期间在Github上共更新66次,代码在3.9版本(599行)的基础上增加了(或改动)530行。
点名器5.0版本到5.1版本间间隔6个月,下载次数达732次。
2023年9月26日的使用次数最多,一天内共被使用139次。
点名器发布以来制作过8个定制版本,为B站两位老师制作过定制版。
功能介绍
点名器功能从在的单抽、连抽的基础上不断扩展,每一次更新都意义重大:
截至当前的5.6版本,点名器实现了以下功能
- 点名功能:可以单人抽取或选择抽取多人(不重复),实现随机点名的功能。
- 名单管理:软件提供了名单管理功能,用户可以通过编辑名单功能来自定义点名名单。
- 多名单功能: 用户可以创建多个名单并切换名单,实现在不同场景下使用不同名单的需求。
- 自动检查更新: 软件支持自动检查更新,用户可以通过配置文件关闭更新提示。
- UI优化和用户体验:软件界面经过多次优化,基本达到能看的程度...
- 导出功能: 用户可以将点名的历史记录导出为图表或文本,方便记录和分析。
- 背景音乐:软件支持单抽时的背景音乐,用户可以在按照提示开启该功能。
- 零付费,零广告,完全开源,教师可私信免费获取定制版本
开发记录
在我决定要制作一个能实现前言功能的点名器之后,在Dragon少年的博客中找到了合适的源码,程序已经实现了基本的单抽和连抽(会重复)以及简易的GUI界面。
随后我在Dragon少年的源码中改动,改了界面、优化了一些弹窗和代码逻辑等,然后在Github上发布了3.9版本源码(在发布前测试版用掉了一些版本号),之后也没再想着更新什么,因为在我们班上已经够用了。
直到有一天我收到了第一条Issues,指出了连抽的重复问题,因为我当时也并不是很会Python,而且高三两周回一次家也没什么时间,连抽的问题我没有搞定,于是便回复发Issues的@limuy2022,表示自己目前没有精力修复,但limuy2022帮我修好了连抽提了Pr,在那次之后便加入了点名器贡献者行列,在后续的版本中提供了很大的帮助。
QQB则是在3.9版本中修复了连抽输入框的问题、缓解了高Dpi的问题,以及负责打包了32位版本。
这之间也有许多网友在沉梦小站或B站专栏下留言,比如背景音乐功能就是@小菜鸡 提议的。
我之后也时常想着点名器还该加些什么功能,有想法就记录下来,假期里就开干,为点名器陆续实现了"点名历史记录"、"单抽背景音乐"。
现在在大学进入了大学,也时不时会打开源码看看有什么想更新的,因此发布了5.4-5.6实现了多名单支持。
开发团队
Yish_ 广州软件学院 大一
@limuy2022 高一
@QQB 高三
停更原因
我在高三的寒假时列过一个清单,到目前为止,清单上画的饼已经基本上都实现了,不过还有两样是没有实现的:
其一是点名器的云名单,云名单设想的是在点名器中对接沉梦小站的云计算程序,但因为服务器空间资源有限(176mb/180mb),所以暂时无法实现,这个得等当前服务器过期后再考虑,而且这个功能的实用性也不是很高。
第二个是多语言支持,这个我其实有在定制版写过英文界面的版本,不过因为点名器暂时没有在国外平台发布,所以这个想法也暂时搁置。
总之,我认为目前点名器已经较为完善了,如果没有更好的想法或者发现严重的BUG,我觉得就应该去开发新的项目了,不在点名器上继续花费时间了、limuy2022也早就提过应该去做新的东西,不过我当时还在继续研究点名器。
说实话,我也只会一点Python,还是边做点名器边学的,在使用Python的时候发现的最麻烦的地方就是Python分发不容易,点名器在虚拟环境打包成exe都能达到160mb、没虚拟环境甚至260mb(我试过了Pyinstaller还有nuitka都差不多),即便是用innosetup压缩后,还是有50mb,这就容易让人误解,一个点名器应该有这么大吗?我是不是夹带私货了?
所以我也想尝试新的语言,我之前试过易语言,是真的很"易",比Python还易,而且做个软件真的就几kb,但是因为易语言不受待见,而且做出来的软件100%报毒,并不适合使用。
c语言更底层,但是看起来很难....不过这也是我未来的学习内容了(因为有c语言课)。
我想无论我学任何哪一个语言,都会去做同一件事,就是复刻点名器,用同样的逻辑不同的语言尝试重写点名器,这样也能更好的了解代码逻辑的差别。
当然,虽然现在宣布了停更,但这意味着下次必定是大更新。
Comments NOTHING