Skip to content

Commit 138145e

Browse files
committed
Added a bit more about the implementation to the README.
1 parent a30df7d commit 138145e

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

README.rst

+10-2
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,20 @@ The original IQ map layouts have a number of swastika-like designs. Yves Meynard
5050

5151
While Yves kindly provided me with IQ's source code for reference, SQ is an original work that doesn't substantively copy IQ at the code level, and has many fine differences (deliberate, and probably also accidental) in behavior.
5252

53-
Development status
53+
Implementation
5454
============================================================
5555

5656
SQ is reasonably polished and allows playing through several complete quests. Not quite all of IQ's tile types are implemented, and so a few of its original quests (Nightmare 2, Delirium, and the original tutorial Boot Camp 2) aren't completely playable. You can try them if you want, but they aren't listed by ``--quests``.
5757

58-
Overall, the code is in good shape and provides examples of solving many different kinds of problems in Hy. Some files use `Outli <https://github.com/jdtsmith/outli>`__ headers in comments for organization.
58+
Overall, the code is in good shape and provides examples of solving many different kinds of problems in Hy. Some files use `Outli <https://github.com/jdtsmith/outli>`__ headers in comments for organization. Among the things you can see demonstrated in SQ are:
59+
60+
- Using macros to streamline the definition of many similar classes: see ``defdataclass`` and ``deftile`` (try looking at uses of them first before getting into the hairy details of their implementation)
61+
- Managing global variables and several notions of global state: see ``Global``
62+
- Writing a terminal-based game with `blessed <https://pypi.org/project/blessed>`__
63+
- Parsing a novel binary format with `construct <https://pypi.org/project/construct>`__
64+
- Generating HTML with a minimal ``ElementTree``-like interface: see ``simalq.tile.tilepedia``
65+
- Testing a Hy program with `pytest <https://pytest.org>`__ (and with tests that are themselves written in Hy)
66+
- Creating a new quest for SQ: duplicate the file ``tutorial.hy``, edit it to taste, and put it in the same directory (``quest_definition``)
5967

6068
Version history
6169
============================================================

0 commit comments

Comments
 (0)