-
Notifications
You must be signed in to change notification settings - Fork 0
/
Aide.risk
337 lines (262 loc) · 13.8 KB
/
Aide.risk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
%À propos de Frisk et de ses auteurs
Frisk a été conçu et écrit par Elan Feingold en 1994. That's me.
I got bored during the Christmas break of my senior year and
designed Frisk, on paper, since I didn't have any hardware with me.
Upon returning to school, I spent about three months working on it,
between classes and general beer drinking, before getting a playable
version.
Since then I graduated from Cornell with a BS in Computer Science
(what else?), and am now working for Digital Equipment Corporation
on their DECladebug debugger.
Frisk stands for Free Risk or Feingold Risk, depending on whether I'm
feeling philanthropical or egotistical. It is based on the Parker
Brothers classic game, and I assume that they hold all the rights to
the game. If you people are reading this, please don't sue me...
Frisk is my programming magnum opus in many respects. It is the first
full-length Xt/Xaw program I have written, and also the first to use
UNIX network primitives. Because of this, I am sure that in some
places my code will be non-optimal. I would greatly
appreciate feedback on it, either in the form of suggestions for
improvements, or "Man, your code sucks..." (although the latter might
cause psychological damage).
La traduction en français a été effectuée par Jean-Claude Colson.
%%
%Remerciements
I wish to express my profound gratitude to the following people,
without whom Frisk could have never come into existence:
- Kirsten Mecklenburg: For her love and understanding. It isn't easy
to be the girlfriend of a CS major. I'll be the first to recognize
that. Thanks for being there (and for the coconut macaroons)!
- Will Kling: For hiring me and being infinitely helpful during my
migration up to NH. He actually inspired me to write the game, since I
thought he and my other future co-workers would need a fun network game to
increase productivity.
- Robert Watts: For his infinite patience in play-testing Frisk.
Even though he had nasty Quantum problem sets due, he would never
refuse a good game of Frisk. Also for the acoustic versions of Layla
while I programmed. Music calms the savage CS major.
- Michael Plochocki: For being my token Macintosh user friend.
His general ineptness with user interfaces helped me improve the ergonomics
and user-friendliness of Frisk. But seriously, his invaluable suggestions
helped mold Frisk into the game that it is. Thanks also for the late night
chats about politics, religion, and of course, girls.
- Darrin Edelman: For his encouragement and suggestions. If he had
been living here instead of working for IBM like the loser that he is,
I'm sure he would have been a great help to the project. Here's to keeping
in touch after college.
- Philip Soo: For letting me drag him in to see the latest
improvements in the game. Phil has a knack for crashing anything in
very little time. You can be assured that this program is Phil-proof.
- Steve Thompson: For his feedback, and for hiring me to work in his
lab, which gave me access to all sorts of platforms to test Frisk on.
For his sense of humor, even though the HP's were down more than they
were up.
%%
%Crédits
This section holds all of the people who have submitted bug reports
and new features for Frisk, along with people who have contributed in
other ways (new ports, suggestions, etc.) It may not be exactly up
to date, so if you submitted a report and don't see your name on here,
don't panic.
- Port to HPUX: Richard Lloyd
- Port to SunOS/Solaris: Michael Davies, Matthew D. Stock
- Port to AIX: Miguel Alvarez Blanco
- Bug reports, testing, encouragement, help: David La Croix, CyberDrunk,
Bruno Levy, Sam Louken, Al Longyear, Miguel Alvarez Blanco, Matthew D. Stock
(thanks for the patch and the suggestions!), Andy Tefft, Bob Willmot,
Martin Schulze, Charles Henrich, Glenn Rysko, John Kilburg, Michael Davies,
Nicolaus Christiaan Thirion, Tom Tromey, Jeffrey David Cohen,
Martin Wunderli, Mark Phillips, Robert Seals (thanks for all the help!),
Craig Humphrey, Dave Lemke, Mario Antonioletti, Erik deRomph, Joel Fine,
Bart Massey, Rick Niles, Davin Milun, James J Richmond, Joshua R. Poulson,
Darin Johnson, Andrew R. Tefft, Clayton Haapala, Sydnor Francis,
Ken DeMerchant, Bob Tanner, Marco Choi.
%%
%Plateforme de développement
Frisk a été écrit sur un i386SX/16, avec 8 Mb de mémoire, sous Linux.
The only thing saving me from insanity was my S3 video card,
which made X quite usable. Having another 8 Mb of memory would have
been great too, except that my motherboard only supports 8Mb!
%%
%Joindre l'auteur
L'auter peut être joint par courrier électronique à elan@jeeves.net,
et par courrier papier à:
Elan Feingold
24 Newcastle Dr. #10
Nashua, NH 03060
Envoyez lui une carte postale si vous voulez!
%%
%Droits d'auteur
The source code is Copyright (c) Elan Feingold 1993-1995. You may use it,
abuse it, or improve it, under the following, vernacular conditions (the
official sounding copyright notice appears at the top of all of the
source files and at the bottom of this help item):
(1) You leave the Copyright notice intact on the source files.
(2) You credit me for any of my code that you use for any purpose.
(3) You not release altered versions of Frisk in any form.
(4) You don't use any of my code in any for-profit venture, without
my explicit permission.
Frisk is released as Poor-Engineer-ware. That means that the program is
free, but if you like it you are welcome to send me cookies, money, or
other donations that might improve my engineering career. If anyone has
a spare Porsche 928, I could use it. Beer is fine, too. This is the
Copyright notice that appears in each of the source files:
PERMISSION TO USE, COPY, MODIFY, AND TO DISTRIBUTE THIS SOFTWARE
AND ITS DOCUMENTATION FOR ANY PURPOSE IS HEREBY GRANTED WITHOUT
FEE, PROVIDED THAT THE ABOVE COPYRIGHT NOTICE APPEAR IN
ALL COPIES AND MODIFIED COPIES AND THAT BOTH THAT COPYRIGHT
NOTICE AND THIS PERMISSION NOTICE APPEAR IN SUPPORTING
DOCUMENTATION. THERE IS NO REPRESENTATIONS ABOUT THE
SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. THIS SOFTWARE
IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
%%
%Notes sur l'interface
There are two message boxes where messages can appear, notifying you
of some event or error. These two long rectangular boxes are located
above and below the row of buttons. The upper box normally holds
comments related to what you are doing, i.e. what country you have
selected, or what you are expected to type into a pop-up box. The
lower box generally holds error messages, although it can also contain
informative messages, too.
The number of attack die, as well as the default attack style (Single
or Do-or-Die) is saved for each player, and restored when the player
starts his or her next turn.
%%
%Le jeu
The rules of Frisk are identical to the rules of Parker Brother's Risk
game. The style of the game defaults to the server selecting the
initial allocation of countries, and card exchanges being performed on
a static basic (i.e. 3 different cards = 10 armies, 3 cavalry = 8
armies, 3 infantry = 6 armies, and 3 artillery = 4 armies). In this
version, this is the only style of game supported.
If you are not familiar with the rules of Risk, you are advised to
learn them from another source, as this help does not attempt to fully
explain all of the nuances of these.
%%
% Enregistrement des joueurs
Avant de commencer à joueur, les joueurs doivent être enregistrés auprès du serveur Frisk. You do this by typing a name and a color for the player, and
then clicking on "Register Player." The color can by anyone
recognized by the X11 server, which comprise the colors listed in
rgb.txt, normally located in /usr/lib/X11. All normal colors are
there, i.e. yellow, green, pink, orange, along with some rather
interesting others, such as gold, forest green, turquoise, and others.
For most colors, a digit from 1 to 4 can be appended to the color name
to generate successively darker tones of the color.
At this time, if the game is being played over the network, other
players may register simultaneously. Is the case that a player
registers from a remote computer, the server will send all clients a
message informing of this.
When you are done registering players, click on "End Registration."
At this point, if there are a total of two or more players, and all
other clients have finished registering, play will commence. If all
clients finish registering and the total number of players is less
than two, the game will not be able to start, and the registration
will have to begin again, after each client exits and restarts.
%%
% Fortification des pays
You may reinforce a country by clicking on the country that you wish
to place an army on. In styles of games that support reinforcing
countries, reinforcing is staggered between players, with each player
being able to reinforce one country with one army in one turn.
%%
% Positionnement des armées
To place an single army, click the left mouse button on the country
that you wish to place the army on. To place multiple armies, instead
click on the country with the right mouse button, and a dialog will
pop up asking you to specify how many armies to place. The text
widget grabs the keyboard, so that you need not move the mouse to the
dialog, and if the default number of armies is to your satisfaction,
you need only hit <Enter>. To place your all armies on a country, press the
middle mouse button when you are on the country (the middle mouse button
is usually emulated by pressing both mouse buttons on a two-button mouse).
%%
% Attaquer
First click on the country to attack from, and then click on the
country you wish to attack. The appropriate error messages for either
of these two country selections will appear in the lower message box.
If the country you have selected to attack from is valid, the text
containing the number of armies in the country will light up. If your
attack removes all of the enemy armies from the country you are
attacking, you will be prompted with a dialog asking you how many
armies to move into the country.
If you wish to cancel an attack, you may click on "Cancel Action." If
you had selected a country to attack from, this will be unselected.
%%
% Déplacer des armées
First click on the country you wish to move armies from, and then
click on the country you wish to move them to. If the source and
destination countries are valid, a dialog will be presented to you, in
which you can enter the number of armies to move. If you decide that
you want to do more attacking, simply click on one of the attack
actions and if you haven't moved armies, you can continue to attack.
Once you have completed a valid move, your turn is ended, and Frisk
notifies the server and the next player is now allowed to go.
%%
% Nombre de dés pour l'attaque
This parameter is set by selecting an entry in the list-box in the
lower left hand corner of the screen. If you select "Auto," then the
maximum number of dice will be used.
%%
% Action
This list-box, to the right of the Attack Die list-box, serves to select
the action that you wish to perform. Appropriate error messages will
be issued if you try to enter into illegal actions.
%%
% Placer des armées
Upon beginning your turn, this is the state that Frisk enters. You
will remain in this state until you finish placing all of your armies.
%%
% Attaquer
This state specifies that when you select a source and destination
country, only one attack is to be performed. You may repeat the
attack by clicking on "Repeat Attack."
%%
% Attaquer à mort
If you select this attack mode, then when you specify a valid attack, the
computer will continue to attack until the territory has been conquered, or
you don't have enough armies to continue attacking. N.B. There is no way
to stop the attack once you have initiated it!
%%
% Déplacer
This action has an identical interface to an attack. Select the source
country by clicking on it. Then click on the destination country. A pop-up
dialog will appear asking you how many armies to move. If you are satisfied
with the amount (by default all but one), simply hit <Enter> or click on OK.
If you are not, move the mouse to the edit widget, and edit the number. When
you are finished hit <Enter> or click on OK.
%%
% Envoyer des messages
Click on a player in the Message Destination list-box, or on "All Players" to
broadcast the message. Type in your message in the long message entry widget
above the box that displays messages from the server, and then hit <Enter>.
Your message will be sent immediately. You could use the feature to send
covert messages, or establish secret alliances! You could just use it to
insult other players, of course.
%%
%Futurs développements
Look in the file TODO for features/bugfixes in the works.
Look in the file ChangeLog for features implemented/bugs fixed.
There are the enhancements I want to make for version 1.0 (in no real order):
o Computer Players. Simple player.
o New statistics and logging dialogs.
o New registration dialogs (grabs focus, better color selection).
o Change the scheme of all big dialogs to use message passing only.
o A graphical toolbar with tooltips.
o Save/Load.
o Join Game/Leave Game.
o Restart game (calls for voting protocall).
o Change "Repeat Attack" to "Repeat Action"
o Add game options (distributing countries, missions).
o Dynamic (and optionally persistant) player color editing.
There are my longer term goals (version 2.0?), in no particular order:
o Increase the aesthetic value of the game (3D map, new NeXTStep-like
widgets?).
o Genetic Programming computer player.
o Drag 'n Drop for armies from dice window like MAC-Risk?
o Nicer color selection (color cube (square))?
o Port to Windows 95!
o Menu bar instead of the widgets at the bottom of the screen?
o Make the whole thing better abstracted in terms of OS and GUI.
o Undo feature.
o GUI for server, to pick game options, show statistics?
%%