Showcase
温馨提示:以下内容有内嵌 YouTube Demo 视频,请使用互联网浏览。
NFugue
2018-10 参与开源项目
毕业设计需要处理 MusicXML 音乐数据,刚好找到了 NFugue 这个音乐编程库,但是它是 JFugue 的一个不完整的 C# Port,刚好我需要的功能缺了。我自行 Port 了我需要的 TemporalPLP 的功能。
Magic Lines
2018-06 独立开发
我在软件需求项目上做的安卓版连珠游戏,专门针对自己的口味改进了玩法。我不喜欢移动一下就要思考半天,所以做成了时间制的,不是移动一次会冒出珠子,而是时间流逝会冒出珠子。
棋盘格上会自动生成有颜色的珠子,你的目标是尽量快速地消除珠子,当珠子堆满棋盘格时失败。(没有实现重新开始)
点击珠子可以选择它,接着点击要移动到的目的地,这样可以移动珠子到此目的地。
当具有相同颜色的珠子排成一定的形状时,就会消除。形状有长条形,十字形,箭头形,并且可以无限延长,它们各自具有不同的消除效果。
iFafu 安卓小程序
2018-06 ~ 2018-07 核心开发和质量保证
校实训做的小组项目,是基于福建农林大学教务管理系统的微信小程序。有查询个人基本信息、查询课表、查询考试成绩、查询考场的功能。教务管理系统没有提供 API,我自己抓包分析,写出了完整的 API 文档。因为微信端只允许 HTTPS 而教务管理系统是 HTTP,所以我们必须要通过中间的一个 HTTPS 服务器才可行。于是我的 API 文档就分为了(教务)原生 API 文档和(服务器)API 文档,非常详细,不公开。我主要负责后台开发还有前台数据对接部分,总体保持轻量,使用的 Struts2 + Apache HTTPComponent。
MenuMaker
2018-03 独立开发
学习安卓时开发的项目,顺便想要解决我每天吃饭难(决定)的问题。可以向里面添加菜肴,然后能随机生成这周的每天要吃的菜谱。
Red 编程语言文档
2018-02 开源项目中文核心参与者
我提供了 Red 英文文档的中文翻译版。Red 语言是第一个全栈语言,我作为 Red 中文社区的管理者之一,基本翻译了当时所有官方文档,现在还有新的部分我等版本更新定稿了再翻译。
- https://doc.red-lang.org/zh-hans/
- https://github.com/red/docs/pull/37
- https://github.com/Sh1noka/red-docs
自学教室
2017-08 ~ 2017-11 组长、核心开发
软件测试课的项目。
《自学教室》网站为网络学习者提供一个通用的交流平台。它以教室为主体,每个教室都有它的主题,主题可以是图书、网络教程(包括网络书籍与视频教程)、公开课(非 MOOC)。用户作为自学者,可以发现并加入已有的教室,若没有,则可以自己创建,教室的管理是完全用户自治的。教室提供了目录功能,可以记录学习进度,还有讨论功能,提供自学者交流的平台。
校园雪仗
2016-10 ~ 2016-11 组长、核心功能和算法开发
我的数据结构课程设计,Flash 小游戏,里面顺便用了一些数据结构的。
玩家操纵角色打雪仗。玩家能耗费 SP 扔雪球,SP 要收集地上的雪才会获得,角色会每秒按一定速度自动收集一定半径范围内的雪。地面是绿色草地,原本是没有雪的,天上会飘下雪花,雪花到地面上就会让地面的雪变厚,地面会慢慢变成雪白色。
球的大小有大、中、小三种,越大消耗越多。蓄力扔雪球可以扔得更远。雪球砸到中目标或地面会爆炸造成伤害并积雪,正中目标伤害更大,自己也有可能受到伤害,所以扔的时候要三思,不要砸到自己了,也不要给对手送雪。积雪和伤害的机制还有那么一点讲究,离雪球爆炸点中心越远效果越弱,并且若雪球有砸中目标,面对于目标的一部分扇形区域不会受到影响,爆炸特效也会有扇形遮罩。这个机制使得玩家可以躲在障碍物后面,对方雪球砸过来爆炸了也不会波及到自己。
角色除了扔雪球还会冲刺,冲刺的时候移动速度会变快。
场地里有障碍物和道具,道具可以吃,有各种效果。它们都可以被雪球砸掉,障碍物生命高些,要砸久一点才会被破坏。
0133 训练机
2015-09 独立开发
音乐游戏数据转换器。把 Lunatic Rave 2 的 BMS 格式的游戏谱面数据转换为 osu! 的 osu 谱面数据。基本所有可玩内容都能转换,支持批量转换。转换流程非常非常复杂,其中还有不兼容的部分,我自己查遍了两种数据格式的参考。osu 的游戏谱面基于时间戳,而 BMS 谱面基于类似乐谱的描述形式,有小节和几分几分音符,复杂的是它 BPM 会改变,节拍也会改变,还有静止特效等,我要根据乐谱的描述算出所有音符的时间戳。另外还要处理一堆音效文件和图片。转换过程中的 UI 做得不错,有双重进度条,一个是总体进度另一个是当前谱面包进度。
FlashDevelop
2015-09 参与开源项目
FlashDevelop 是用于开发 Flash 程序的开源 IDE,我为它添加了直接编译当前 SWF 功能。这是我对开源项目做出的第一个增加功能的代码贡献,然而竟然还写错了。我回家的时候想着突然觉得好像复制忘记修改了,急忙去看没想到已经有人帮我指出来了,丢死人了。
Blessing
2015-07 独立开发
Blessing 的意思是福,福州这里传统的人家喜欢在门上贴一个“福”字,当然是贴得正正的。类比贴“福”字,这个软件能通过修改游戏配置把 osu!mania 的舞台设置到屏幕正中央。几年后上 GitHub 发现有人给我射星。
税金计算器
2014-11 独立开发
我爸叫我做的计算税的,好像说他单位老是算错很麻烦。这是我用 Python 写的第一个小程序,用 wxPython 的 UI 库,真的是超级难用。
贪吃蛇
2014-08 独立开发
简单的贪吃蛇游戏,“构架”写得非常复杂,“代码扩展性”写得非常地好,但是做了简单的功能就没想继续做了,原因是我画的蛇怎么看都像虫子,而且还是断肢的。现在想起来有点好笑。
天使神剑——同步模式
2014-07 独立开发
批量重命名字幕文件的工具,功能很简单但是 UX 我自认做得不错,我现在还在使用,非常好用。
比点数
2014-07 独立开发
我反其道而行之,想出的一个最无聊的游戏。游戏超简单,玩家点牌组翻出 5 张扑克牌,电脑也跟着翻。自己能看到的只有自己的手牌,翻到5张时亮牌比较谁的手牌加起来点数更大。这是为了练习我使用 Starling 框架而做的,它是 Flash 最火 GPU 渲染框架。
2048
2014-07 独立开发
这时候 2048 游戏很流行,我也做了一个 AIR 版的,没有参考其他教程全凭思路写。第一次弄到手机上,屏幕适配还不太会做。
魔法砖+
2013-09 独立开发
我做的第一个 Flash 游戏,因为我很喜欢打砖块所以首先做了这个打砖块游戏。当时纠结球碰到砖块的反弹算法,球老是会卡到砖块里去。源码和应用程序已经找不到了。我打算之后要用 Unity 做一个好玩的新版本。
罗源地税局食堂管理系统
2013-07 ~ 2013-09 独立全栈开发
高三考完试后的暑假做的网站,前端采用 TypeScript + Avalonjs,后台用 Go 语言的 BeeGo 框架,至今已运行 5 年。功能很多很多,有员工订餐、员工点餐、餐费查询、采购公示、公告管理、菜肴排名、账号管理、菜肴管理、采购管理、报表打印。