Support for g++-4.1.
[gf1.git] / gf1_doc.sgml
blob2565d199647b5d5db5c03f8e4dc95b33bf7aca68
1 <!doctype linuxdoc system>
3 <!-- $Id$ -->
5 <article>
7 <title>GF1 (Gipf for one)
8 <author>Kurt Van den Branden (<htmlurl url="mailto:kurtvdb@village.uunet.be" name="kurtvdb@village.uunet.be">)
10 <abstract>
11 GF1 is a computer program for playing the 2 player boardgame GIPF.
12 The program has a nice and easy to use graphical user interface.
13 You can play against another human (but the real game is better for that),
14 against the computer, or let the computer play against itself.
15 The computer player is good enough to beat even the best human players at the
16 moment (but it doesn't always win :-) ).
17 </abstract>
20 <!-- ##################################################################### -->
21 <sect>What is this game called GIPF?
22 <p>
23 GIPF is a strategic game for two players based on a classic
24 concept: in turns, players introduce one piece into play until
25 achieving four-in-a-row. Players then remove their row and capture
26 any of their opponent's pieces which extend that row. This
27 principle of capturing pieces creates each time again completely
28 changed situations on the board. The purpose is to form successive
29 rows of at least 4 pieces, until the opponent has no piece left to
30 bring into play.
32 (This description was copied from the official GIPF web-site. For
33 more info about the GIPF-game, check
34 <htmlurl url="http://www.gipf.com" name="http://www.gipf.com">)
36 <descrip>
37 <tag/REMARK:/This manual does not contain the rules for GIPF. If you
38 don't know the game yet, go and buy it or check the GIPF homepage.
39 </descrip>
41 <!-- ##################################################################### -->
42 <sect>Manual for the impatient
43 <p>
44 This part of the manual will teach you enough about the program
45 to start playing against the computer as quick as possible.
47 If you want to know everything about all the different menu-options, then
48 you will have to read the next chapters.
50 <sect1>Game Setup
51 <p>
52 You can change the strength of the computer-player with the "Setup"-option
53 in the File-menu.
55 Choose one of the levels for computer strength and press the OK-button.
56 Level 1 is a very bad player, only appropriate for beginners. Level 8 is
57 a very, very good player, but one move from the computer make take an hour
58 or longer. Level 4 and 5 are strong players which don't take too long thinking
59 about their moves.
61 <sect1>Start a new game
62 <p>
63 You start a game with the New-option from the File-menu.
65 The window shown contains several areas: For general things about the new
66 game and things that must be setup for each player separatly.
68 The first thing you should choose is what kind of game to play. The 3
69 different games described in the GIPF-rules are available: basic, standard
70 and tournament.
72 The "Timed game"-option allows you to make the game more difficult by
73 restricting the time you have for playing a complete game. If you check
74 this option, you can also change the time each player has for the game.
75 (You can give the players a different time.)
77 Now you have to choose who will play white and black. For each color you
78 can choose if it will be controlled by a human- or a computer-player,
79 you can enter the player-name, and if you chose the "Timed game"-option,
80 then you can also change the time allowed for a game.
82 When you are happy with your selections, press OK and the game will start.
84 <sect1>Play the game
85 <p>
86 single pieces on the board are white (really light yellow)
87 and black. Gipf pieces of both colours have an extra gray circle on them.
89 How to make a move:
90 <itemize>
91 <item> Click on one of the black circles around the gameboard to set the
92 point from where you want to add a piece.
93 The new piece will be shown on that position
94 <item> Click on the point where you want to move your new piece.
95 A red cross will appear there.
96 <item> Now click on the 'Execute move'-button under the gameboard and your
97 move will be executed.
98 <item> At the beginning of a tournament game you can add gipf-pieces,
99 when you want to stop adding gipf-pieces just click again on the
100 piece you are adding. this will replace the gipf-piece with a normal
101 piece. (Clicking again will change the piece to a gipf again.)
102 </itemize>
104 In some circumstances the program will ask you if you want to remove a row
105 of pieces or gipf-pieces. The relevant pieces are shown on the board with
106 a red cross on them.
108 The program automatically detects if the game is finished and will tell
109 you who won and how many moves it took.
111 <!-- ##################################################################### -->
112 <sect>Screen layout
114 The main GF1-window consists of several sections.
116 At the top you have the menu-bar and at the bottom you have buttons which
117 differ depending on what you are doing.
118 In the middle you can see from left to right:
119 <itemize>
120 <item>Information about the white player (Player name, timer, number of
121 pieces left, number of pieces lost)
122 <item>The gipf-board
123 <item>Information about the black player
124 <item>A log of all the moves
125 </itemize>
127 The player-name with a red background shows whose turn it is.
129 If you set the "show position names"-option in the setup-window, then you will
130 see the position-name of the position you are over appear if you stay over the
131 same place on the gameboard for 1/2 a second.
133 The pieces for playing GIPF are shown on the board as white
134 (really light yellow) and black discs. Gipf pieces (2 normal pieces on
135 top of each other) have an extra gray circle on them.
137 <!-- ##################################################################### -->
138 <sect>Moving pieces on the board
140 Making a move consists of several steps:
141 <itemize>
142 <item> Click on one of the black circles around the gameboard to set the
143 point from where you want to add a piece.
144 The new piece will be shown on that position
145 <item> Click on the point where you want to move your new piece.
146 A red cross will appear there.
147 <item> Now click on the 'Execute move'-button under the gameboard and your
148 move will be executed. Pressing &lt;enter&gt; also executes your move.
149 Clicking a second time on the position with the red cross will also
150 execute the move.
151 </itemize>
153 At the beginning of a tournament game you can add gipf-pieces to the game.
154 When you want to stop adding gipf-pieces, just click again on the
155 piece you are adding, the gipf-piece will be replaced with a normal piece.
157 When the computer-player is thinking on what move to make, a window is
158 shown with a "thinker" and a button which allows you to interrupt the computer.
160 <!-- ##################################################################### -->
161 <sect>Removing a row of pieces or a gipf-piece
163 Every time a row of four pieces of the same colours occurs on the board, this
164 row is automatically removed from the board by the program.
166 When more then 1 row of the same colour is on the board at the same time,
167 the program will ask the corresponding player what row to remove first.
168 The row you can remove at that moment will be made clear with red crosses
169 on top of the pieces.
171 Something similar occurs when you have the chance to remove a gipf-piece from
172 the board. The piece that can be removed will get a red cross and the
173 program will ask you if you want to remove it or not.
175 <descrip>
176 <tag/REMARK:/Even when you can remove a gipf-piece from your opponent from the
177 board will the program ask you if you want to do this. In some situations it
178 can be benificial to leave your opponents gipf on the board.
179 </descrip>
181 <!-- ##################################################################### -->
182 <sect>Playing with a timer
184 Playing a timed game is like playing with a chess-clock.
186 When it's your turn, your clock will run down. When it's your opponents move,
187 your clock will stop and his will start.
189 When one of the players runs out of time, he loses instantly.
191 The computer-player is smart enough not to run out of time. When his current
192 strenght level would cause him to run out of time, he will automatically
193 switch to a lower setting.
195 <!-- ##################################################################### -->
196 <sect>Edit a gameboard
198 When you use the "Edit board"-option from the Edit menu, the user-interface
199 changes to allow you to edit the gameboard in any way you like.
201 In this mode you can add or remove pieces or gipf-pieces of any colour and
202 change the "lost pieces"-counters to create any gipf-situation you want.
204 When you changed the board to your liking, you can start playing from
205 that situation.
207 <sect1>Select what type of piece to add
209 There are 2 ways to select the type of piece you want to add to the board:
210 <itemize>
211 <item>At the bottom of the window is a button that shows the currently selected
212 piece to be added. Clicking this button allows you to change it to any of
213 the possibilities.
214 <item>When you right-click with your mouse over the game-board you can also
215 select the type of piece to add. This will immediatly be shown on the button
216 at the bottom also.
217 </itemize>
219 <sect1>Add or remove a piece from the board
221 To add a piece, just move the mouse over the position where you want to put the
222 new piece and click. This will put the currently selected type of piece at
223 that position and adapt the counter of available pieces for the corresponding
224 colour.
226 Removing a piece is just as easy. Move the mouse over the piece you want
227 to remove and click. The piece will be removed and the corresponding counter
228 adapted.
230 If you want to replace a piece with a different one then you have to click
231 twice, once to remove the old piece and again to place the new piece.
233 <sect1>Changing the "lost pieces"-counters
235 For changing the number of pieces lost by each player there are 2 counters
236 at the bottom of the window.
238 Pressing the left-button of a counter will decrease the number (not below 0),
239 pressing the right-button will increase it.
241 Automatically, the number of available pieces will be updated correctly.
243 <!-- ##################################################################### -->
244 <sect>The menubar
246 <sect1>File menu
248 The File menu contains general options for dealing with a game of GIPF.
250 <descrip>
251 <tag/New game/This is the option to use when you want to start a new game. It
252 opens a window allowing you to enter all the settings necessary for a
253 game of GIPF:
254 <itemize>
255 <item>Game type: Here you choose the type of game you want to play. These
256 options correspond to the 3 game-types explained in the official GIPF-rules.
257 <item>Timed game: Turn this option on if you want to restrict the time each
258 player has for playing a complete game.
259 <item>Player (white and black): For each colour you can choose what kind
260 of player will use it. Choose human for one colour and computer for the other
261 if you want to play against the computer, but both sides human or both
262 sides computer are also valid settings.
263 <item>Player name (white and black): The names entered here will be shown on
264 each side of the game-board.
265 <item>Player time (white and black): If you turned on the "Timed game"-option
266 then you can change the number of minutes allowed for each player.
267 </itemize>
269 <tag/Load game/Load a game that you saved earlier. If you saved during a game
270 then you can resume the game from where you stopped.
272 <tag/Save game/Save a game in progress. This allows you to return to the game
273 later. A window will open where you can enter a filename.
275 <tag/Save log/If you just finished a memorable game then you can use this
276 option to save all your moves to a file. In case you want to see later how
277 you won (or lost) that game.
279 <tag/Setup/Change game settings:
280 <itemize>
281 <item>Computer strength: From 1 to 8, level one is for absolute beginners, from
282 level 4 on the computer plays quite strong. At settings above 5 the computer
283 can take a long time calculating his move.
284 <item>Move animation: If you turn the animation on, every move you make will be
285 shown with moving pieces (This makes it easier to understand what is
286 happening).
287 <item>Wait before computer move: To make computer moves easier to understand
288 you can make the program wait before executing each computer move. The program
289 will show what move the computer intends to make and wait the number of
290 seconds you enter here.
291 <item>Wait before removing a row/gipf: To make it easier to understand what
292 happens when rows and gipf-pieces are removed from the board, you can set this
293 to something different then 0. The computer will then show what it intends to
294 remove and wait a number of seconds.
295 <item>Show position names: If you set this option then position-names
296 will be shown on the board when you move over it.
297 </itemize>
299 <tag/Exit/Stop the program. Make sure you saved the current game if necessary.
300 </descrip>
302 <sect1>Edit menu
304 Only the first option from the Edit menu (Edit board) can be used when you are
305 not in the edit mode of the program. 'Save board' and 'Make drawing' can also
306 be used when you are playing a game. But the others are only available when
307 you are editing the game-board.
309 <descrip>
310 <tag/Edit board/Start editing the game-board. (See above for how this works)
311 <tag/Start game/Start a game from the board-situation you were editing. A
312 window opens allowing you to start a game.
313 <tag/Computer move/Have the computer calculate one move from the current
314 board-position. You can choose if it is white or black who has to play and
315 the strength of the computer (higher is better).
316 <tag/Clear board/Empty the board, put it in the same situation like the start
317 of a tournament-game.
318 <tag/Restore board/Restore the board to the situation before your started
319 editing the board. Also exit edit-mode and return to play-mode.
320 <tag/Load board/Load a board-position from a file.
321 <tag/Save board/Save the current board-position to a file.
322 <tag/Make drawing/Make a png-file of the current board-situation. You can
323 specify a file-name, the size of the resulting picture and an accompanying
324 text.
325 </descrip>
327 <sect1>UNDO
329 When you use UNDO, the game will be returned to the situation before
330 you made your last move. This allows you to try again if you made a stupid
331 mistake.
333 This option from the menubar is only usable under certain conditions:
334 <itemize>
335 <item>During a game
336 <item>When you are not playing a timed game. (this would be too much like
337 cheating)
338 </itemize>
340 <bf>REMARK:</bf> You can only do UNDO once at a certain moment in
341 the game. It is not possible to press UNDO several times to go back more
342 than 1 move.
344 <sect1>Help menu
346 This menu contains only 2 options.
348 The HELP-option opens a window containing the complete GF1-manual.
349 At the top you get a list of all the different chapters in the manual. When
350 you click on one of the lines, the helptext will immediatly jump to the
351 correct chapter. The help-window can be left open while playing.
353 The ABOUT-option just opens a window showing the version of GF1 you are
354 using and the author. Press enter or click on the window to remove it.
355 (This is the same window you see when GF1 starts up. At startup, the window
356 goes away automatically after 5 seconds.)
358 <!-- ##################################################################### -->
359 <sect>Contact-information and Copyrights
361 <sect1>Contact-information
364 <descrip>
365 <tag/Author:/Kurt Van den Branden
366 <tag/Address:/<verb>
367 Heiveldstraat 72
368 B-9120 Beveren
369 Belgium
370 </verb>
371 <tag/e-mail:/<htmlurl url="kurtvdb@village.uunet.be" name="kurtvdb@village.uunet.be">
372 <tag/GF1 homepage:/<tt><htmlurl url="http://gf1.sourceforge.net/" name="http://gf1.sourceforge.net/"></tt>
373 <tag/GF1 users mailinglist:/ If you want to keep up-to-date with GF1
374 developments, subscribe to the mailinglist (<tt><htmlurl url="http://gf1.sourceforge.net/services.html#mailinglist" name="http://gf1.sourceforge.net/services.html#mailinglist"></tt>)
375 </descrip>
377 <bf>REMARK: </bf>GF1 is free, but please send me a postcard if you like
378 it (a paper postcard, not an electronic one).
379 You can also send me money if you like.
381 <sect1>Copyrights
383 <itemize>
384 <item>
385 GF1 &copy; 1998-2000, Kurt Van den Branden.
387 You can use this program for what ever you want, but don't come complaining
388 to me if it explodes in your face :-).
390 You can even get the source-code for this program, so you can change it if
391 you want. But if you have a useful change, please send it back to me so
392 everybody can use it.
394 <verb>
395 This program is free software; you can redistribute it and/or modify
396 it under the terms of the GNU General Public License as published by
397 the Free Software Foundation; either version 2 of the License, or
398 (at your option) any later version.
400 This program is distributed in the hope that it will be useful,
401 but WITHOUT ANY WARRANTY; without even the implied warranty of
402 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
403 GNU General Public License for more details.
405 You should have received a copy of the GNU General Public License
406 along with this program; if not, write to the Free Software
407 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
408 </verb>
411 <item>
412 GIPF, &copy; en &reg; Don & Co nv, 1997. All rights reserved.
414 </itemize>
416 </article>