1
0
Fork 0
forked from len0rd/rockbox
foxbox/apps/plugins/puzzles/html/group.html
Franklin Wei 1a6a8b52f7 Port of Simon Tatham's Puzzle Collection
Original revision: 5123b1bf68777ffa86e651f178046b26a87cf2d9

MIT Licensed. Some games still crash and others are unplayable due to
issues with controls. Still need a "real" polygon filling algorithm.

Currently builds one plugin per puzzle (about 40 in total, around 100K
each on ARM), but can easily be made to build a single monolithic
overlay (800K or so on ARM).

The following games are at least partially broken for various reasons,
and have been disabled on this commit:

Cube:     failed assertion with "Icosahedron" setting
Keen:     input issues
Mines:    weird stuff happens on target
Palisade: input issues
Solo:     input issues, occasional crash on target
Towers:   input issues
Undead:   input issues
Unequal:  input and drawing issues (concave polys)
Untangle: input issues

Features left to do:
 - In-game help system
 - Figure out the weird bugs

Change-Id: I7c69b6860ab115f973c8d76799502e9bb3d52368
2016-12-18 18:13:22 +01:00

52 lines
2.3 KiB
HTML

unfinished:Group
<p>
Fill in the grid with the letters shown to the top and left of it, so
that the full grid is a valid
<a href="http://en.wikipedia.org/wiki/Cayley_table">Cayley table</a>
for a
<a href="http://en.wikipedia.org/wiki/Group_(mathematics)">group</a>.
<p>
If you don't already know what a group is, I don't really recommend
trying to play this game. But if you want to try anyway, the above is
equivalent to saying that the following conditions must be satisfied:
<ul>
<li>
<strong>Latin square</strong>. Every row and column must contain
exactly one of each letter.
<li>
<strong>Identity</strong>. There must be some letter <i>e</i> such
that, for all <i>a</i>, the letter in row <i>e</i> column <i>a</i> and
the one in row <i>a</i> column <i>e</i> are both <i>a</i>. In the
default mode, this letter is always <i>e</i> and its row and column
are filled in for you; by reconfiguring the game using the Type menu,
you can select a mode in which you have to work out which letter is
the identity.
<li>
<strong>Inverses</strong>. For every letter <i>a</i>, there must be
some letter <i>b</i> (which may sometimes be the same letter
as <i>a</i>) such that the letters in row <i>a</i> column <i>b</i> and
in row <i>b</i> column <i>a</i> are both the identity letter (as
defined above).
<li>
<strong>Associativity</strong>. For every combination of
letters <i>a</i>, <i>b</i>, and <i>c</i>, denote the letter in
row <i>a</i> column <i>b</i> by <i>d</i>, and the one in row <i>b</i>
column <i>c</i> by <i>e</i>. Then the letters in row <i>d</i>
column <i>c</i> and in row <i>a</i> column <i>e</i> must be the same.
</ul>
<p>
To place a letter, click in a square to select it, then type the
letter on the keyboard. To erase a letter, click to select a square
and then press Backspace.
<p>
Right-click in a square and then type a letter to add or remove the
number as a pencil mark, indicating letters that you think
<em>might</em> go in that square.
<p>
You can rearrange the order of elements in the rows and columns by
dragging the column or row headings back and forth. (The rows and
columns will stay in sync with each other.) Also,
left-clicking <em>between</em> two row or column headings will add or
remove a thick line between those two rows and the corresponding pair
of columns (which is useful if you're considering a subgroup and its
cosets).