Check-in Lasker-2.2.3 tar ball from samba.org
[capablanca.git] / lasker-2.2.3 / data / help / formula
1
2 formula
3
4 Usage: set formula <formula-expression>
5
6
7 SUMMARY
8
9   The formula variable filters out match requests.  If you have a formula set,
10 then any match request not satisfying your formula is automatically declined;
11 you will be notified that the offer was made and rejected by your formula.  If
12 you make an offer that fails a player's formula, you will be given this
13 feedback.  A user's formula and f-variable settings are displayed using the
14 "variables" command.  You disable (turn off) your formula by typing "set
15 formula".  This will, in essence, erase your current formula setting.
16
17   Here are some simple examples, with descriptions in [] brackets:
18
19     blitz        [match must be blitz]
20     !wild        [match must be non-wild]
21     inc >= 10    [match must have an increment of 10 or higher]
22
23   Create or modify a formula by using the "set" command.  For example, "set
24 formula blitz".  Special variables (f1-f9) can also be established using the
25 "set" command; these variables make it easier to modify your formula depending
26 upon your mood.
27
28
29 CREATING A FORMULA
30
31   (1) Decide whether you will be changing your formula often.  If so, think
32 about using f-variables to make these changes easier.
33
34   (2) Decide exactly what kinds of filters you want to have, such as type of
35 game, time controls, and kinds of opponents.
36
37   (3) Review the available formula operators and pre-defined variables (listed
38 below) to see which ones fit your needs.
39
40   (4) Write out your formula and f-variables on paper to make sure that their
41 "logic" works.
42
43   (5) Enter the logical expressions for the f-variables and formula using the
44 "set" command.
45
46   Changing your f-variables and formula follows the same procedures.
47
48
49 FORMULA VARIABLES
50
51   Several variables are allowed in formula settings.  Some of these variables
52 hold numerical information while others are Boolean (true/false, 1/0).  Here
53 is a list of allowed variables, where Boolean variables are denoted by "(B)":
54
55   The following variables are allowed in formulas:
56
57       Variable        Description
58       ------------    ---------------------------------------------------
59       abuser          1 if opponent is on the abuser list; 0 otherwise (B)
60       assessdraw      How many rating points you will gain/lose by drawing a
61                       chess match
62       assessloss      How many rating points you will lose by losing a chess
63                       match
64       assesswin       How many rating points you will gain by winning a chess
65                       match
66       blitz           1 if match is blitz in type; 0 otherwise (B)
67       computer        1 if opponent is a computer; 0 otherwise (B)
68       inc             Increment time for each player
69       lightning       1 if match is lightning in type; 0 otherwise (B)
70       maxtime(n)      The maximum time n moves will take for BOTH players
71                       (in seconds) [you must supply the 'n' value]
72       mymaxtime(n)    The maximum time n moves will take YOU (in seconds)
73                       [you must supply the 'n' value]
74       myrating        Your rating
75       nonstandard     1 if the game will have different time controls for the
76                       two players; 0 otherwise (B)
77       private         1 if game will be private; 0 otherwise (B)
78       rated           1 if game will be rated; 0 otherwise (B)
79       rating          Opponent's rating
80       ratingdiff      The difference between opponent's rating and your
81                       rating [rating - myrating]
82       registered      1 if opponent is a registered user; 0 otherwise (B)
83       standard        1 if game will be standard in type; 0 otherwise (B)
84       timeseal        1 if opponent has timeseal; 0 otherwise (B)
85       time            Start time for each player
86       untimed         1 if game will not involve the clock; 0 otherwise (B)
87       wild            1 if game will be wild in type; 0 otherwise (B)
88
89   Also, the word "minutes" is allowed after a number that is not enclosed in
90 parentheses (but right now, you must use "1 minutes"; the singular is not
91 recognized).  The word has the effect of multiplying the previous number by
92 60, thus turning minute-values into seconds-values -- important for the
93 maxtime and mymaxtime variables.  For example, "2 minutes" would yield the
94 value of "120".
95
96
97 FORMULA OPERATORS
98
99   The following formula operators are allowed; their order of precedence in
100 the calculations and evaluations is listed.  Sometimes more than one set of
101 symbols leads to the same result.  When functions in the formula have equal
102 precedence, the precedence is from left to right.
103
104   Symbol   Function                                 Precedence
105   ------   -------------------------------          ----------
106     !     not; negation                                  1
107     -     minus [as in -20 or -variable]                 1
108     *     multiplication                                 2
109     /     division                                       2
110     +     addition                                       3
111     -     subtraction                                    3   
112     <     less than                                      4
113     <=    less than or equal to [ =< also works]         4
114     >     greater than                                   4
115     >=    greater than or equal to [ => also works]      4
116     =     equals [ == also works]                        5
117     !=    not equals  [ <> also works]                   6
118     &     and  [ && also works as does 'and']            7
119     |     or   [ || also works as does 'or']             8
120
121   Parentheses () are allowed in formulas and function as they do in numerical
122 equations: expressions within parentheses are evaluated first.  You can use
123 the pound sign '#' after your settings to provide comments and reminders to
124 yourself.  NOTE: The program divides by a fudge factor of .001 instead of
125 dividing by 0.
126
127
128 USER-DEFINED FORMULA VARIABLES (f-variables)
129
130   F1 through f9 are user-defined formula variables changed by using the "set"
131 command.  These variables can return either numerical or Boolean results. 
132 They make it easy to change one part of your formula without retying the whole
133 thing, or to adjust your formula depending on your mood.  For example, if your
134 various f-variables were ...
135
136       f1  rated & time=5 & inc=0   # rated 5 minute games
137       f2  ratingdiff
138       f3  maxtime(40) >= 2*8minutes   # at least 8 mins each for 40 moves
139       f4  f2>400   # I want a REAL fight
140       f5  !abuser
141       f6  standard | (ratingdiff<200 & blitz)
142
143 ... then, depending on your mood, you could type one of the following:
144
145       set formula f1 & f5   # rated 5 min. games only
146       set formula f2 > -100   # long games, decent competition
147       set formula f1 & !f4
148 -or-  set formula f2 >= 0 | blitz
149
150   You define an f-variable using the "set" command.  With respect to the above
151 examples, you would type such lines as ...
152  
153   set f2 ratingdiff
154   set f4 f2>400   # I want a REAL fight
155   set f5 !abuser
156
157 ***  Special Note  ***
158 Be careful how you write the f-variables.  Make sure they have the proper
159 sequence.  For example, f5 can refer to f2 but f5 cannot refer to f8.
160
161
162 MAXTIME EXAMPLE
163
164   Using maxtime sets the expected total time for the game.  If your formula
165 (or f-variable) included the following expression ...
166
167       maxtime(30) <= 10 minutes
168
169 ... this would allow no more than 10 minutes total time for the first 30 moves
170 of the game (5 minutes for each player, or any other combination).  
171
172
173 CREDITS:  Formula program for FICS written by Dave Herscovici (hersco)
174
175
176 See Also:  assess  blitz  lightning  match  timeseal  variables 
177
178 [Last modified: December 17, 1995 -- Friar]
179