基于 LVGL 8.2.0 的 C 语言课程设计项目,在 Windows + MinGW + SDL2 上运行。项目包含单人游戏、排行榜、成就、道具、音效和联机对战功能。
client/ Windows LVGL 客户端
src/ 游戏逻辑、UI、网络和入口
assets/ 编译进程序的图片、字体和音频资源
config/ LVGL 与桌面驱动配置
lvgl/ LVGL 8.2.0 源码(离线依赖)
lv_drivers/ LVGL Windows/SDL 驱动(离线依赖)
server/ Flask HTTP + UDP 中继服务器
watermelon_server.py
requirements.txt
data/ 运行时用户、存档、日志和公告
lv_conf.h LVGL 配置
lv_drv_conf.h 驱动配置
Makefile MinGW 构建脚本
准备 GCC、mingw32-make、windres 和 SDL2 开发库,然后在项目根目录执行:
mingw32-make
build\bin\watermelon.exe清理构建输出:
mingw32-make clean如果服务器不在本机,可在编译时覆盖地址和端口:
mingw32-make SERVER_HOST=192.168.1.10 SERVER_PORT=5000py -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r server\requirements.txt
python server\watermelon_server.py默认 HTTP/UDP 端口均为 5000。可使用环境变量修改:WATERMELON_HOST、WATERMELON_HTTP_PORT、WATERMELON_UDP_PORT、WATERMELON_EXTERNAL_UDP_PORT。
服务器数据只写入 server/data/,其中用户数据和存档默认不会提交到 Git。
部分图片、音频及其转换后的 C 数组资源来源于 SteveYuOWO/Mix-watermelon。感谢原作者的开源工作;相关资源仍受其原始许可证和版权声明约束。本项目没有将第三方资源重新声明为原创,发布或二次分发前请同时遵守原仓库许可证。
LVGL/LV Drivers 及原项目代码的许可信息见 LICENSE、lvgl 和 lv_drivers 中的许可证文件。提交前请确认所使用图片、字体和音频资源具备可再发布许可。