请提供 aisleriot 的 Gnome Scheme 手册

请提供 aisleriot 的 Gnome Scheme 手册

aisleriot 软件包中有许多纸牌游戏。但是,缺少一款:新月纸牌。您可以免费在线玩,但它具有超时等烦人的功能。如果您不使用广告拦截器,还会显示广告。

所以我想将新月纸牌添加到 aisleriot 中。

aisleriot 网站上说:“游戏规则已使用 GNOME 脚本语言 (Scheme) 编写,以方便您使用”。我查看了源代码。是的,它是某个版本的 Scheme。

因此我需要一个方案教程,最好包含为 aisleriot 编写纸牌游戏的分步练习。因为我当然希望使用现有的库,而不是从头开始编写游戏代码。

Gnome 的开发网站谈论的是 javascript,而不是 scheme。我查看的游戏文件(包含不同游戏规则的文件)没有注释。我无法对它们进行 car 或 cdr(=scheme 中的“头或尾”)。

那么,请问有人知道哪里可以找到好的教程吗?或者至少是好的手册?(不是麻省理工学院的胡言乱语)。

答案1

来自官方源代码 git 存储库本身:

https://gitlab.gnome.org/GNOME/aisleriot/blob/master/games/Rules.HOWTO

它的目录非常有前景,而且看起来正是您正在寻找的内容:

1. Introduction
2. Getting started.
3. A primer for the Scheme language
4. Functions you need to define to make a game.
5. A real example.
6. Submitting your new work as a "bug". 
7. A brief list of the aisleriot 'library' functions available. 

也值得一读:

https://gitlab.gnome.org/GNOME/aisleriot/blob/master/games/README

How to write a new game for Aisleriot
=====================================

For an introduction on how to write the scheme code for a new game see the
Rules.HOWTO file.


How to add a new game to Aisleriot
==================================

 * Move foo.scm file into games/ and git add it
 * Add foo.scm to the list in games/Makefile.am, keeping the list
   sorted alphabetically
 * Add games/foo.scm to po/POTFILES.in
 * Move the documentation foo.xml file into help/C/ and git add it
 * Add foo.xml to HELP_FILES in help/Makefile.am, keeping the list
   sorted alphabetically
 * Edit help/C/index.docbook to include the new game's documentation
   by adding

     <xi:include href="foo.xml" />

   in the list of games. Make sure to keep the list sorted alphabetically!
 * Run the src/get_titles.pl script
 * In help/, run "make check" to make sure the documentation validates
 * Add foo to the list of games in the man page in help/sol.6
 * git commit help/C/foo.xml help/C/index.docbook help/Makefile.am games/foo.scm \
              games/Makefile.am src/game-names.h po/POTFILES.in help/sol.6

 Done!

不幸的是,令人惊讶的是,这两个文档在存储库的 Ubuntu 二进制包中缺失aisleriot,因此它们没有像大多数此类 README 那样安装在您的系统中。

相关内容