run tidy over html files; added include for gnu pages
[xboard.git] / whats_new / rules / Betza.html
1 <!--#include virtual="/server/html5-header.html" -->
2   <title>(Extended) Betza notation</title>
3 <!--#include virtual="/server/banner.html" -->
4 <!--#set var="article_name" value="/server/standards/boilerplate" -->
5 <!--#include virtual="/server/gnun/initial-translations-list.html" -->
6
7   <h1>Extended Betza notation</h1>
8
9   <p>Ralph Betza invented a compact notation to encode moves of a
10   piece, which is now in wide-spread use for description of Chess
11   variants. This page describes a version of it that has been
12   extended in several ways. Some of these extensions were embraced
13   from another proposed extension scheme, '<span style=
14   "background: #00FFFF;">Bex notation</span>' by David Howe, others
15   are entirely new. These new extensions from the original Betza
16   notation are <span style="background: yellow;">marked in
17   yellow</span>.</p>
18
19   <p>Betza notation decomposes the piece into 'atoms', which
20   represent the set of all (8-fold-)symmetry-equivalent moves of a
21   certain distance. For example all eight Knight moves, or all
22   diagonal moves of the King. Each 'atom' is written as a single
23   capital (e.g. N for the Knight moves), which is very efficient
24   when you are dealing with pieces that are maximally symmetric
25   (which most pieces indeed are). Atoms refer to single unblockable
26   leaps of a certain distance. Pieces that can repeat the same leap
27   again and again until they encounter an obstacle (sliders or
28   riders, such as Rook) are very common. Those moves are indicated
29   by writing the number of steps the piece can maximally make
30   behind the atom, <span style="background: yellow;">where '0' can
31   be used to indicate 'any number of steps'</span>.</p>
32
33   <p>The choice to treat moves as sets that go in all directions
34   goes at the expense of the compactness when dealing with
35   asymmetric pieces. (This is a cheap price to pay, as asymmetric
36   pieces are much less common than fully symmetric ones.) To
37   describe moves of asymmetric pieces Betza notation uses
38   <i>lower-case prefixes</i> to identify which sub-set of the atom
39   we mean. Such as f (forward) or r (right), or combinarions of
40   those like fr. E.g. fR decribes a 'Rook' that only moves in the
41   forward direction (i.e., the Shogi Lance). Lower-case prefixes
42   are also used to specify the move is not a general one (i.e.
43   valid as capture and non-capture, the normal situation in
44   Chess-like games), but can only be used in limited ways (e.g.
45   capture only, non-jumping, capture after jumping).</p>
46
47   <h3>The basic atoms</h3>
48
49   <table cellpadding="20">
50     <tr>
51       <td>
52         <p>The following table describes the most important
53         atoms</p>
54
55         <table border="1">
56           <tr>
57             <th>Atom</th>
58
59             <th>Vector</th>
60
61             <th>Piece</th>
62           </tr>
63
64           <tr bgcolor="#00FFFF">
65             <td>O</td>
66
67             <td>(0,0)</td>
68
69             <td>Null move (Taikyoku-Shogi Lion can do this)</td>
70           </tr>
71
72           <tr>
73             <td>W</td>
74
75             <td>(1,0)</td>
76
77             <td>Wazir (Courier Chess)</td>
78           </tr>
79
80           <tr>
81             <td>F</td>
82
83             <td>(1,1)</td>
84
85             <td>Ferz (Shatranj)</td>
86           </tr>
87
88           <tr>
89             <td>D</td>
90
91             <td>(2,0)</td>
92
93             <td>Dababba</td>
94           </tr>
95
96           <tr>
97             <td>A</td>
98
99             <td>(2,2)</td>
100
101             <td>Alfil (Shatranj)</td>
102           </tr>
103
104           <tr>
105             <td>I</td>
106
107             <td>(3,0)</td>
108
109             <td>Tripper</td>
110           </tr>
111
112           <tr>
113             <td>L</td>
114
115             <td>(3,1)</td>
116
117             <td>Long Knight (aka Camel)</td>
118           </tr>
119
120           <tr>
121             <td>J</td>
122
123             <td>(3,2)</td>
124
125             <td>Zebra</td>
126           </tr>
127
128           <tr>
129             <td>G</td>
130
131             <td>(3,3)</td>
132
133             <td></td>
134           </tr>
135         </table>
136       </td>
137
138       <td>
139         <p>Laid out on the board, (standing at O),<br>
140         the move encoding is as follows:</p>
141
142         <table border="1">
143           <tr>
144             <td>.</td>
145
146             <td>.</td>
147
148             <td>.</td>
149
150             <td>.</td>
151
152             <td>.</td>
153
154             <td>.</td>
155
156             <td>.</td>
157
158             <td>.</td>
159
160             <td>.</td>
161           </tr>
162
163           <tr>
164             <td>.</td>
165
166             <td>G</td>
167
168             <td>J</td>
169
170             <td>L</td>
171
172             <td>H</td>
173
174             <td>L</td>
175
176             <td>J</td>
177
178             <td>G</td>
179
180             <td>.</td>
181           </tr>
182
183           <tr>
184             <td>.</td>
185
186             <td>J</td>
187
188             <td>A</td>
189
190             <td>N</td>
191
192             <td>D</td>
193
194             <td>N</td>
195
196             <td>A</td>
197
198             <td>J</td>
199
200             <td>.</td>
201           </tr>
202
203           <tr>
204             <td>.</td>
205
206             <td>L</td>
207
208             <td>N</td>
209
210             <td>F</td>
211
212             <td>W</td>
213
214             <td>F</td>
215
216             <td>N</td>
217
218             <td>L</td>
219
220             <td>.</td>
221           </tr>
222
223           <tr>
224             <td>.</td>
225
226             <td>H</td>
227
228             <td>D</td>
229
230             <td>W</td>
231
232             <td>O</td>
233
234             <td>W</td>
235
236             <td>D</td>
237
238             <td>H</td>
239
240             <td>.</td>
241           </tr>
242
243           <tr>
244             <td>.</td>
245
246             <td>L</td>
247
248             <td>N</td>
249
250             <td>F</td>
251
252             <td>W</td>
253
254             <td>F</td>
255
256             <td>N</td>
257
258             <td>L</td>
259
260             <td>.</td>
261           </tr>
262
263           <tr>
264             <td>.</td>
265
266             <td>J</td>
267
268             <td>A</td>
269
270             <td>N</td>
271
272             <td>D</td>
273
274             <td>N</td>
275
276             <td>A</td>
277
278             <td>J</td>
279
280             <td>.</td>
281           </tr>
282
283           <tr>
284             <td>.</td>
285
286             <td>G</td>
287
288             <td>J</td>
289
290             <td>L</td>
291
292             <td>H</td>
293
294             <td>L</td>
295
296             <td>J</td>
297
298             <td>G</td>
299
300             <td>.</td>
301           </tr>
302
303           <tr>
304             <td>.</td>
305
306             <td>.</td>
307
308             <td>.</td>
309
310             <td>.</td>
311
312             <td>.</td>
313
314             <td>.</td>
315
316             <td>.</td>
317
318             <td>.</td>
319
320             <td>.</td>
321           </tr>
322         </table>
323       </td>
324     </tr>
325   </table>
326
327   <p>For longer-range atoms no letters are defined. In the rare
328   cases they occur, <span style="background: #00FFFF;">these can be
329   written using the numeric coordinates of their leap
330   vector</span>, e.g. (4,1) for the Giraffe leap. Note this still
331   implies the move goes in all directions (i.e. (4,1) also means
332   (4,-1), (-4,1), (1,4), ...), and thus still does a lot for
333   compactness. A piece that only leaps 4 forward and 1 left or
334   right would be an f(4,1).</p>
335
336   <h3>Modifier prefixes</h3>
337
338   <p>The following table lists possible prefixes to the atoms.
339   Prefixes can be combined, in which case the sub-sets of move
340   types they correspond to are joined. E.g. fb means forward
341   <i>and</i> backward moves (but not sideways). So even prefixes
342   with opposite meaning are not really conflicting; they could be
343   superfluous, however. (E.g. mc would mean both non-capture and
344   capture, which is the default in absence of prefixes anyway.)</p>
345
346   <table border="1">
347     <tr>
348       <th>prefix</th>
349
350       <th>short for</th>
351
352       <th>meaning</th>
353     </tr>
354
355     <tr>
356       <th colspan="3">Move modality</th>
357     </tr>
358
359     <tr>
360       <td>c</td>
361
362       <td>capture</td>
363
364       <td>Captures only</td>
365     </tr>
366
367     <tr>
368       <td>m</td>
369
370       <td>move</td>
371
372       <td>Move but not capture</td>
373     </tr>
374
375     <tr>
376       <th colspan="3">Move blocking</th>
377     </tr>
378
379     <tr>
380       <td>n</td>
381
382       <td>non-jumping</td>
383
384       <td>Cannot jump over occupied square</td>
385     </tr>
386
387     <tr>
388       <td>j</td>
389
390       <td>jump one</td>
391
392       <td>Must jump exactly one</td>
393     </tr>
394
395     <tr bgcolor="#FFFF00">
396       <td>jj</td>
397
398       <td>jump many</td>
399
400       <td>Can jump over any number of pieces</td>
401     </tr>
402
403     <tr>
404       <th colspan="3">Hopping</th>
405     </tr>
406
407     <tr>
408       <td>p</td>
409
410       <td>Pao (=Canon)</td>
411
412       <td><span style="background: #FFFF00;">(Obsolete?)</span>
413       Capture if move jumps over one obstacle, non-capture if it
414       does not jump</td>
415     </tr>
416
417     <tr>
418       <td>g</td>
419
420       <td>Grasshopper</td>
421
422       <td><span style="background: #FFFF00;">(Obsolete?)</span>
423       Must land directly behind first obstacle</td>
424     </tr>
425
426     <tr>
427       <td>q</td>
428
429       <td>Circular</td>
430
431       <td><span style="background: #FFFF00;">(Obsolete?)</span>
432       Basic step repeated at an angle, until it closes on
433       itself</td>
434     </tr>
435
436     <tr>
437       <td>z</td>
438
439       <td>Zig-zag</td>
440
441       <td><span style="background: #FFFF00;">(Obsolete?)</span>
442       Repeat step alternates angle between two values.</td>
443     </tr>
444
445     <tr>
446       <td>o</td>
447
448       <td></td>
449
450       <td>wraps around on cylinder board</td>
451     </tr>
452
453     <tr>
454       <th colspan="3">directional-subset and other geometry
455       indicators</th>
456     </tr>
457
458     <tr>
459       <td>f</td>
460
461       <td>forward</td>
462
463       <td>most-forward single or pair of moves of
464       symmetry-equivalent moves</td>
465     </tr>
466
467     <tr>
468       <td>b</td>
469
470       <td>backward</td>
471
472       <td>most-backward single or pair of moves of
473       symmetry-equivalent moves</td>
474     </tr>
475
476     <tr>
477       <td>l</td>
478
479       <td>left</td>
480
481       <td>left-most single or pair of moves of symmetry-equivalent
482       moves</td>
483     </tr>
484
485     <tr>
486       <td>r</td>
487
488       <td>right</td>
489
490       <td>right-most single or pair of moves of symmetry-equivalent
491       moves</td>
492     </tr>
493
494     <tr>
495       <td>s</td>
496
497       <td>sideways</td>
498
499       <td>short for lr</td>
500     </tr>
501
502     <tr>
503       <td>v</td>
504
505       <td>vertical</td>
506
507       <td>short for fb</td>
508     </tr>
509
510     <tr bgcolor="#FFFF00">
511       <td>a</td>
512
513       <td>all</td>
514
515       <td>short for vs (default on atoms specifying complete move,
516       but can be needed in chaining)</td>
517     </tr>
518
519     <tr>
520       <td>ff</td>
521
522       <td>forward</td>
523
524       <td>obsolete notation for forward-most two of 8
525       symmetry-equivalent moves</td>
526     </tr>
527
528     <tr>
529       <td>fh</td>
530
531       <td>forward half</td>
532
533       <td>forward-most four of 8 symmetry-equivalent moves</td>
534     </tr>
535
536     <tr>
537       <td>fs</td>
538
539       <td>sideway-forward</td>
540
541       <td>fh but not f</td>
542     </tr>
543
544     <tr>
545       <td>etc.</td>
546
547       <td></td>
548
549       <td>Similar for b (bb, bh, bs), l and r</td>
550     </tr>
551
552     <tr bgcolor="#00FFFF">
553       <td>i</td>
554
555       <td>initial</td>
556
557       <td>Initial move only (for pieces that have not moved
558       yet)</td>
559     </tr>
560
561     <tr bgcolor="#FFFF00">
562       <td>e</td>
563
564       <td>equal</td>
565
566       <td>equal in length to previous step, measured in board steps
567       (see section on chaining)</td>
568     </tr>
569   </table>
570
571   <p>For example, fmWfcF is a Pawn: non-captures forward to a W
572   square, captures to the two forward F squares. Pretty
573   complicated, but the Pawn is a very complex piece (asymmetric,
574   and divergent capture/non-capture). Note that fr and rf are not
575   the same on 'oblique' (= not orthogonal or diagonal) atoms, which
576   have 8 moves, and that they might not be what you intuitively
577   think, as fs = fl + fr.</p>
578
579   <h3>Grouping</h3>
580
581   <p><span style="background: #00FFFF;">Grouping of atoms,
582   modifiers and exponents is possible with parentheses</span>. This
583   can be done for readability, or for overruling operator
584   priorities. (fmW)(fcF) might read more easily than fmWfcF. The
585   parentheses do not have any meaning in themselves.
586   'Distributivity' also works for modifier prefixes: m(AB) where m
587   is a string of modifiers and A and B are atoms, (or expressions
588   grouped in parentheses), is defined to mean mAmB. Some shortcuts
589   for commonly used combinations of atoms exist; these can be seen
590   as implicit grouping of the involved atoms.</p>
591
592   <table border="1">
593     <tr>
594       <th>shortcut</th>
595
596       <th>stands for</th>
597
598       <th>orthodox piece</th>
599     </tr>
600
601     <tr>
602       <td>K</td>
603
604       <td>WF</td>
605
606       <td>King</td>
607     </tr>
608
609     <tr>
610       <td>B</td>
611
612       <td>F0 (FF)</td>
613
614       <td>Bishop</td>
615     </tr>
616
617     <tr>
618       <td>R</td>
619
620       <td>W0 (WW)</td>
621
622       <td>Rook</td>
623     </tr>
624
625     <tr>
626       <td>Q</td>
627
628       <td>RB</td>
629
630       <td>Queen</td>
631     </tr>
632
633     <tr bgcolor="#FFFF00">
634       <td>C</td>
635
636       <td>L</td>
637
638       <td>Camel</td>
639     </tr>
640
641     <tr bgcolor="#FFFF00">
642       <td>Z</td>
643
644       <td>J</td>
645
646       <td>Zebra</td>
647     </tr>
648   </table>
649
650   <h3>Chaining moves</h3>
651
652   <p>When a number of atoms is concatenated, like WF, it joins
653   their move sets. So the piece described by WF moves either as W
654   or as F, i.e. one step diagonal, or one step orthogonal. That
655   means it is the King of orthodox Chess! (From the notation you
656   cannot see whether it is royal yet; the main purpose of the
657   notation is to convey how it moves. <span style=
658   "background-color: yellow;">But a 'k' prefix could be used to
659   indicate royalty</span>, when this is of relevance.)</p>
660
661   <p>It is also possible to specify that certain moves have to be
662   performed sequentially, one after the other. For instance because
663   something of importance happens or should be noted on an
664   intermediate square. Such as for pieces that can be blocked on
665   squares they cannot visit ('lame leapers'), or that have to hop
666   over other pieces in a specific pattern. The simplest example of
667   this, however, is repetition of the same step in the same
668   direction, as in sliding or riding pieces, such as a Rook. The
669   far moves of such a piece can indeed be blocked by an obstacle
670   closer by on their path, although it can then always reach that
671   square itself as well. Such moves are indicated by
672   'exponentiation': a number after the atom indicates how often the
673   step may be repeated. E.g. F3 would be a piece that slides
674   diagonally (i.e. like a Bishop), upto a maximum of 3 steps. To
675   indicate an arbitrary number of steps can be taken, we use 0
676   (zero) for the exponent. (This because infinity is not in the
677   ASCII character set, and 0 would be pointless when taken at face
678   value.) So W0 would be the Rook, sliding arbitrarily far
679   orthogonally, and F0 the Bishop. (Old notation for this would be
680   WW and FF, but in the extended context these would be
681   troublesome.)</p>Not all multi-step moves are as regular as
682   simple sliders, however. Some 'bent' sliders can turn corners,
683   for instance. The 'Griffon' is an example that first moves one
684   step diagonally, and <b>then</b> continues outward as a Rook. It
685   does not have to go beyond the corner, though; just like a normal
686   Rook it can make the first step of its move only. And if it
687   encounters something on that first step, it is blocked, and never
688   gets to the rooky part of its move. To describe this trajectory
689   we cannot use exponentiation, but have to explicitly write the
690   chain: FtR. Here the 't' is the chaining operator, that
691   distinguishes this from FR, which would mean a piece that steps
692   one diagonally <b>or</b> moves like Rook (a Shogi Dragon Horse).
693   The 't' is because of 'and <b>t</b>hen', but also because the
694   move could be <b>t</b>erminated at that point, and there is no
695   requirement to visit the later parts of the specified trajectory.
696
697   <p>There are other forms of chaining, where the 'connecting
698   square' can not be visited. (I.e. no termination there.) The
699   Xiangqi Horse moves one orthogonal step, and then (without
700   stopping) one step diagonally outward, mimicking the move of a
701   Knight, but blockable on the intermediate square. This is written
702   as the chain W-F. The chaining operator '-' indicates the move
703   cannot be terminated at that point (ending on the connection
704   square), but must continue. If it cannot, because the square was
705   occupied, the move described by the chain is considered blocked,
706   and cannot be made.</p>
707
708   <table border="1">
709     <tr>
710       <th colspan="3">Overview of chaining operators</th>
711     </tr>
712
713     <tr>
714       <td>t</td>
715
716       <td>then</td>
717
718       <td>terminate on connection square (if empty or enemy) or
719       continue (if empty).</td>
720     </tr>
721
722     <tr bgcolor="#FFFF00">
723       <td>-</td>
724
725       <td>block</td>
726
727       <td>must continue if connection square empty; otherwise
728       entire path is considered blocked</td>
729     </tr>
730
731     <tr bgcolor="#FFFF00">
732       <td>+</td>
733
734       <td>hop</td>
735
736       <td>connection square must be occupied and remains untouched;
737       move must go on from there</td>
738     </tr>
739
740     <tr bgcolor="#FFFF00">
741       <td>?</td>
742
743       <td>own</td>
744
745       <td>connection square must contain own piece and remains
746       untouched; move must go on from there</td>
747     </tr>
748
749     <tr bgcolor="#FFFF00">
750       <td>!</td>
751
752       <td>foe</td>
753
754       <td>connection square must contain enemy and remains
755       untouched; move must go on from there</td>
756     </tr>
757
758     <tr bgcolor="#FFFF00">
759       <td>x</td>
760
761       <td>capture</td>
762
763       <td>connection square must contain enemy, which is captured;
764       move must go on from there</td>
765     </tr>
766
767     <tr bgcolor="#FFFF00">
768       <td>d</td>
769
770       <td>destroy</td>
771
772       <td>connection square must be occupied, friend or foe there
773       is destroyed; must go on</td>
774     </tr>
775
776     <tr bgcolor="#FFFF00">
777       <td>y</td>
778
779       <td>split</td>
780
781       <td>connection square is one step before first obstacle; must
782       continue from there</td>
783     </tr>
784   </table>
785
786   <p>Chaining implies continuation in the most similar direction.
787   Should you need to deviate from that, e.g. because the trajectory
788   doubles back on itself, directional modifiers must be used. The
789   continuation steps are to be described in a coordinate system
790   relative to the previous step, however. So W-rW-lW makes one
791   step, (say moving North), then turns right for another step
792   (moving East), and then turns left compared to that second step,
793   meaning it is moving North again! So in the end you arrive at
794   (1,2), over (0,1) and (1,1). This is a Knight move that can only
795   be made if both the intermediate squares are empty, even worse
796   than the Xiangqi Horse (which at least did not care about (1,1))!
797   The latter would be described by W-F. The F after '-' would by
798   default mean fF, and in the orientation of the preceding
799   orthogonal step this would imply a pair of outward moves, fl +
800   fr.</p>
801
802   <p>Some examples that use the other operators: Q+K is the
803   Grasshopper: it must move as Queen to an occupied square (the
804   'support'), (the first one it encounters, as Queens do not
805   jump!), and then continue with a single K step in the same
806   direction (leaving the occupant of the square alone), to land on
807   the square directly behind the support. where it can capture or
808   just move. mRcR+R is the Xiangqi Cannon: the first mR specifies
809   its non-capture move, which is that of a normal Rook. The
810   concatenated cR+R is the capturing alternative; it moves as R to
811   an occupied square, and then continues as R in the same direction
812   for a capture. Note that the 'c' prefix applies to the complete
813   R+R path (a once jumping Rook); the operator priorities are such
814   that the binary operators t-+xdy couple more tightly than the
815   prefix modifiers mc. The latter are only allowed in front of a
816   complete path, to specify what you can do at the end of it, and
817   not on individual steps of the path, where the chaining operators
818   already specify this.</p>
819
820   <h3>Weird captures</h3>
821
822   <p>The x operator allows description of pieces with
823   unconventional capture, as it specifies moving away from the
824   capture square. Normal in Chess is of course that you only
825   captured what was on the square you end on. But even in orthodox
826   Chess e.p. capture exists as an exception to that. It could be
827   written as frmWxlW, which, as we have seen, means frm(WxlW) This
828   expreses capture through a W step, and then turning left for a
829   second W step, so that overall you make an F step in an L form.
830   The frm prefix to this F step means that it can not capture <i>on
831   the final square</i> (the Pawn in e.p. capture always goes to an
832   empty square), to your forward right. I.e. you started moving
833   right, then turned left to move forward. So the continuation
834   square you pass over to remove the Pawn is to your right. (There
835   is no way to express that you can only do this to Pawns, however,
836   let alone to Pawns that just made a double push.)</p>
837
838   <p>This shows the general encoding strategy: if you capture
839   pieces not on your destination square, as 'side effect' to the
840   move, you lay out a path that tramples all the pieces that are
841   captured, so that the sub-steps are all normal replacement
842   captures. E.g. a Checker would be fmFfmFxF. There the fmF part is
843   the non-capture move, but the interesting part is the capture:
844   one step diagonal (which must be to an occupied square, which we
845   capture), and then straight on (which is now 'forward' in the
846   local frame of reference set up by the first step) to the next
847   square, for an overall A step. This step must be fmA, i.e. in one
848   of the forward diagonal directions, not capturing anything on the
849   square where it lands. 'Rifle capture' by a Rook would be RxebR,
850   i.e. first capture something in the normal way, and then
851   manditorily withdraw in the direction from which you came (b) by
852   an R move of the same length. No overall move, but the victim is
853   gone! A Ultima Withdrawer, which destroys the adjacent piece from
854   which it moves away, would be written as mQmKxbK-Q. The capture
855   part, m(KxbK-Q) specifies capture to the adjacent piece,
856   reversing that step (b) to your square of origin, and then
857   mandatorily continuing in that direction with a Queen non-capture
858   move (the victim already in your pocket). The hit-and-run or
859   double capture of a Lion would be KxaK: capture the adjacent
860   piece, after which you must continue by another King step in any
861   direction relative to the first, capturing a second victim or
862   just moving. ven the rifle capture (igui) is included in this.
863   Its turn-passing move would be K-bK. Which is different from O,
864   because it can only be done if the Lion is adacent to an empty
865   square, while a piece that has an O atom can pass uncondiionally.
866   For definiteness, when directional modifiers apply to a path that
867   results in a return to the starting square, they will be
868   referenced to the direction of the first step of the path.</p>
869
870   <h3>More about exponentiation</h3>
871
872   <p>Exponentiation by default implies repeated application of the
873   't' operator. But it can be used to indicate repeate application
874   of other operators too. <span style="background: #FFFF00;">We
875   define AmN, with A an atom or a group within parentheses, m a
876   string of modifiers, and N a number, to mean AmAmAm...mA with N
877   factors A and N-1 operators between them</span>. If the modifier
878   string m does not contain one of the chaining operators, it is
879   prefixed with the default 't'. If it does not include any
880   directional modifiers, it is suffixed with 'f'. So W3 means
881   WtfWtfW, 1 to 3 orthogonal steps in the same direction (which is
882   what the 'f' specifies). But W-3 would mean W-fW-fW, which is
883   exactly 3 such steps. And Wx3 would be exactly 3 steps where the
884   first 2 mandatorily capture.</p>
885
886   <p>By including directonal indicators, you can describe curved
887   trajectories. Nrf8 would mean NtrfNtrfN..., upto 8 Knight moves,
888   each consecutive move bending ~45 degrees right from the previous
889   one (because that is what rf means; the first opportnity to the
890   right that is not straight ahead). This describes the Rose!
891   Circular riders fit into the system, and there is no need for a
892   separate prefix to describe them. With grouping you can do more:
893   (FtlF)r0 expands to FtlFtrFtlFtrFtl..., an arbitrary number of
894   diagonal steps, that alternately turn 90 degrees left or right.
895   In other words, the Crooked Bishop. There is also no real need
896   for the z prefix in this extended Betza notation. The
897   exponentiation can describe it much more precisely, specifying
898   exactly how Crooked it is.</p>
899
900  </div><!-- for id="content", starts in the include above -->
901 <!--#include virtual="/server/footer.html" -->
902 </body>
903 </html>