Contents
  1. 1. NFugue
  2. 2. Magic Lines
  3. 3. iFafu 安卓小程序
  4. 4. MenuMaker
  5. 5. Red 编程语言文档
  6. 6. 自学教室
  7. 7. 校园雪仗
  8. 8. 0133 训练机
  9. 9. FlashDevelop
  10. 10. Blessing
  11. 11. 税金计算器
  12. 12. 贪吃蛇
  13. 13. 天使神剑——同步模式
  14. 14. 比点数
  15. 15. 2048
  16. 16. 魔法砖+
  17. 17. 罗源地税局食堂管理系统

温馨提示:以下内容有内嵌 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 中文社区的管理者之一,基本翻译了当时所有官方文档,现在还有新的部分我等版本更新定稿了再翻译。

自学教室

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 年。功能很多很多,有员工订餐、员工点餐、餐费查询、采购公示、公告管理、菜肴排名、账号管理、菜肴管理、采购管理、报表打印。

Contents
  1. 1. NFugue
  2. 2. Magic Lines
  3. 3. iFafu 安卓小程序
  4. 4. MenuMaker
  5. 5. Red 编程语言文档
  6. 6. 自学教室
  7. 7. 校园雪仗
  8. 8. 0133 训练机
  9. 9. FlashDevelop
  10. 10. Blessing
  11. 11. 税金计算器
  12. 12. 贪吃蛇
  13. 13. 天使神剑——同步模式
  14. 14. 比点数
  15. 15. 2048
  16. 16. 魔法砖+
  17. 17. 罗源地税局食堂管理系统