本页目录

视觉小说引擎(Ren'Py)

renpy · renpy/renpy

开源视觉小说(Visual Novel)引擎,官方站点为 renpy.org。README 说明分支用途:fix 分支用于当前版本的修复与文档改进,master 是主开发分支、接收新功能与不兼容改动,work/ 分支存放待合并的工作。适合制作文字冒险与剧情向游戏,具...

卡牌 桌面游戏 休闲 无明确引擎 Python 游戏状态管理 音频系统 UI 系统 中级
★ Stars 570 Forks 120 License 未明确 更新 2026-11-05

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:无明确引擎 暂无中文教程标记 未标记站长实测
README 未提供国内镜像或网络加速说明;从源码安装需访问 GitHub 与 SourceForge 下载牌组/音乐,pip 依赖(pysol-cards、Pillow 等)可能受网络影响,建议自备镜像源,具体待核验。

中文项目介绍

PySol FC(PySol Fan Club edition)是一款开源、可移植的纸牌接龙/耐心(Solitaire/Patience)游戏合集,使用 Python 编写。README 明确指出它支持 Windows、Linux 与 Mac OS X 三大桌面平台,项目主页为 pysolfc.sourceforge.io。

当前 GitHub 上的维护分支由 Shlomi Fish 等人接手,并已获得「官方」地位。这一分支完成了向 Python 3 的代码迁移,并加入了一些其他改进。README 同时说明,Shlomi Fish 因个人不再频繁游玩电脑纸牌游戏、且维护工作耗时较多,已卸任主要维护者,项目正在公开征集新的贡献者,仓库 issue 列表中仍列有若干可实现的较大型功能。

需要说明的是,README 并未给出收录游戏的具体数量,因此本文不对「收录多少款接龙」作任何断言。

技术架构分析

技术要点

  • 语言与运行时:Python 3.7 或更高版本;图形界面依赖 Tkinter(Tcl/Tk 8.4 或更高)。
  • 替代工具包:项目支持 Kivy 作为另一套 UI 工具包,其特点是集成声音支持并支持构建 Android apk,可通过 python pysol.py --kivy 从源码直接启动。
  • 求解器集成:若需使用求解功能,需在 freecell-solver 的 CMake 构建中传入 -DMAX_NUM_FREECELLS=8 -DMAX_NUM_STACKS=20 -DMAX_NUM_INITIAL_CARDS_IN_A_STACK=60 等参数进行配置。
  • 持续集成:README 展示了 GitHub Actions 的 CI 徽章与 AppVeyor 构建状态徽章。
  • 构建脚本:仓库提供 scripts/linux-install.py、contrib/install-pysolfc.sh 等安装辅助脚本,以及 gmake 目标(如 gmake test、gmake rules)。

补充说明

功能与界面

  • 纸牌接龙合集:项目定位为「全面、功能丰富」的 Solitaire 游戏集合,README 以 Card Solitaire/Patience games 概括其内容。
  • 截图展示:README 提供了一张运行截图(imgur 链接),可直观看到牌桌界面风格。
  • 可选音效:通过 PySol-Sound-Server 分支(支持 mp3、wav、tracker music)或 PyGame / PyGame CE(支持 mp3、ogg、wav、midi、tracker music)实现声音支持。
  • 可选增强包:Pillow(图像处理库)、TTKThemes(主题)、Accessible Output 2(无障碍输出)、Freecell Solver 与 Black Hole Solitaire Solver(求解器)。
  • 牌组与音乐扩展:可将音乐文件放入 ~/.PySolFC/music/,将牌组放入 ~/.PySolFC/cardsets;原始 PySol 音乐与额外牌组可从 SourceForge 项目页下载。

安装与运行

README 给出了多条安装路径:

  1. Windows 安装包:SourceForge 提供安装程序,要求 Windows XP SP3 或更高版本。
  2. Android 包:F-Droid 上提供 org.lufebe16.pysolfc 包,也可依据 README.android 与 buildozer 目录自行构建。
  3. 源码直接运行:在源码目录执行 python pysol.py。
  4. Linux 发行版依赖:Fedora 可用 sudo dnf builddep PySolFC;Mageia 需安装 git、make、pygtk2、gnome-python-canvas、tkinter 等;Debian/Ubuntu 系需 cpanminus make perl python3-setuptools python3-tk。
  5. venv 安装(仅 POSIX):先 pip install pysol-cards(或使用发行版的 python3-pysol-cards),克隆仓库后创建虚拟环境,再运行 ./contrib/install-pysolfc.sh,最后执行 "$PKGTREE"/env/bin/pysol.py。Pillow 编译需要 libjpeg 头文件与库。

README 特别提示:Debian 衍生版若出现「No cardsets were found」错误,通常是因为安装了会移除部分文件的 cardsets 发行版包,应卸载该包并改用 SourceForge 的牌组压缩包。

社区与相关项目

  • 交流渠道:Freenode 上的 ##pysol IRC 频道(注意双井号),以及用于讨论开源卡牌游戏的 Google Group。
  • 相关仓库:PySol-Sound-Server 分支、PySolFC 网站源码、公告草稿、牌组 tarball 源码仓库、额外麻将牌组仓库、旧版 pysol-music 发行版;求解器方面关联 Freecell Solver 与 Black Hole Solver。
  • 同类开源接龙:README 列举了 solitaire.gg(Scala、Web)、Solitairey(JavaScript、Web)、KPat(KDE 桌面)、Aisleriot(GNOME 桌面)等,便于横向比较。

学习建议

该项目适合作为「用 Python + Tkinter 构建完整桌面游戏应用」的阅读样本:可关注其多平台打包思路(Windows 安装包、F-Droid、Kivy 分支)、可选依赖的降级设计(音效、主题、求解器均为可选),以及外部求解器通过构建参数对接的方式。由于 README 未披露内部模块划分与具体游戏规则实现,深入阅读需直接查阅源码。

开源许可证与版权说明

许可证标识:未明确。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目