diff -u gnushogi-1.3.2/debian/rules gnushogi-1.3.2/debian/rules --- gnushogi-1.3.2/debian/rules +++ gnushogi-1.3.2/debian/rules @@ -70,7 +70,7 @@ PATTERNFILE=../../misc/gnuminishogi.pat binary-arch/gnushogi:: - $(MAKE) -C BUILD-std/doc + $(MAKE) -C doc clean:: rm -rf $(DEB_BUILDDIR_gnushogi) $(DEB_BUILDDIR_gnuminishogi) diff -u gnushogi-1.3.2/debian/changelog gnushogi-1.3.2/debian/changelog --- gnushogi-1.3.2/debian/changelog +++ gnushogi-1.3.2/debian/changelog @@ -1,3 +1,13 @@ +gnushogi (1.3.2-9) unstable; urgency=low + + * Add the single new patch of interest to us that 1.4.0 brings upstream, + fixing a buffer overflow in InputCommand. + * Fix command for building info file (Closes: #645864) + * Add a debian/watch to prevent the "-latest" symlink from hiding the real + latest version. + + -- Yann Dirson Tue, 15 May 2012 23:16:13 +0200 + gnushogi (1.3.2-8) unstable; urgency=low * Fixed Homepage field in debian/control, to point to the caltech site only in patch2: unchanged: --- gnushogi-1.3.2.orig/doc/gnushogi.info +++ gnushogi-1.3.2/doc/gnushogi.info @@ -1,6 +1,11 @@ -This is gnushogi.info, produced by makeinfo version 4.3 from +This is gnushogi.info, produced by makeinfo version 4.13 from gnushogi.texinfo. +INFO-DIR-SECTION Games +START-INFO-DIR-ENTRY +* gnushogi: (gnushogi). Japan chess +END-INFO-DIR-ENTRY + This file describes how to use GNU shogi, a program which plays Shogi (Japanese chess). @@ -22,34 +27,2321 @@ translation approved by the Free Software Foundation.  -Indirect: -gnushogi.info-1: 926 -gnushogi.info-2: 49337 +File: gnushogi.info, Node: Top, Next: (dir), Prev: (dir), Up: (dir) + +GNU Shogi (Japanese chess) +************************** + +* Menu: + +* Introduction:: What is GNU shogi? +* License:: The GNU General Public License. +* About shogi:: General information, rules, etc. +* gnushogi:: How to play GNU shogi (gnushogi). +* xshogi:: The X interface to GNU shogi. +* References and links:: Where to go for more information. +* Acknowledgements:: +* Bugs:: Where and how to report bugs. +* Index:: + + +File: gnushogi.info, Node: Introduction, Next: License, Prev: Top, Up: Top + +1 Introduction +************** + +GNU shogi is a program that plays shogi, the Japanese version of chess, +against a human (or computer) opponent. This file describes how to use +GNU shogi and also gives background information about the game of shogi. + + This file describes GNU shogi version 1.3.2. It was written by me, +Mike Vanier, the current maintainer of GNU shogi. My email address is +. + + GNU shogi is actually two programs: + + +`gnushogi' + is the text-based program which also contains the game-playing + engine. + +`xshogi' + is the X-windows graphical interface to gnushogi. + + + + Since xshogi invokes gnushogi, most players will just type "xshogi" +and start playing. + + Disclaimer: I use the personal pronouns "him", "his" etc. to refer +to a shogi player regardless of gender. That's easier than writing +"his or her" all over the place. I don't mean to infer that women +don't play shogi; in fact shogi is very popular in Japan among women as +well as men. + + +File: gnushogi.info, Node: License, Next: About shogi, Prev: Introduction, Up: Top + +GNU GENERAL PUBLIC LICENSE +************************** + + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble +======== + +The licenses for most software are designed to take away your freedom +to share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it in +new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, +and (2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + 0. This License applies to any program or other work which contains a + notice placed by the copyright holder saying it may be distributed + under the terms of this General Public License. The "Program", + below, refers to any such program or work, and a "work based on + the Program" means either the Program or any derivative work under + copyright law: that is to say, a work containing the Program or a + portion of it, either verbatim or with modifications and/or + translated into another language. (Hereinafter, translation is + included without limitation in the term "modification".) Each + licensee is addressed as "you". + + Activities other than copying, distribution and modification are + not covered by this License; they are outside its scope. The act + of running the Program is not restricted, and the output from the + Program is covered only if its contents constitute a work based on + the Program (independent of having been made by running the + Program). Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's + source code as you receive it, in any medium, provided that you + conspicuously and appropriately publish on each copy an appropriate + copyright notice and disclaimer of warranty; keep intact all the + notices that refer to this License and to the absence of any + warranty; and give any other recipients of the Program a copy of + this License along with the Program. + + You may charge a fee for the physical act of transferring a copy, + and you may at your option offer warranty protection in exchange + for a fee. + + 2. You may modify your copy or copies of the Program or any portion + of it, thus forming a work based on the Program, and copy and + distribute such modifications or work under the terms of Section 1 + above, provided that you also meet all of these conditions: + + a. You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b. You must cause any work that you distribute or publish, that + in whole or in part contains or is derived from the Program + or any part thereof, to be licensed as a whole at no charge + to all third parties under the terms of this License. + + c. If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display + an announcement including an appropriate copyright notice and + a notice that there is no warranty (or else, saying that you + provide a warranty) and that users may redistribute the + program under these conditions, and telling the user how to + view a copy of this License. (Exception: if the Program + itself is interactive but does not normally print such an + announcement, your work based on the Program is not required + to print an announcement.) + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the + Program, and can be reasonably considered independent and separate + works in themselves, then this License, and its terms, do not + apply to those sections when you distribute them as separate + works. But when you distribute the same sections as part of a + whole which is a work based on the Program, the distribution of + the whole must be on the terms of this License, whose permissions + for other licensees extend to the entire whole, and thus to each + and every part regardless of who wrote it. + + Thus, it is not the intent of this section to claim rights or + contest your rights to work written entirely by you; rather, the + intent is to exercise the right to control the distribution of + derivative or collective works based on the Program. + + In addition, mere aggregation of another work not based on the + Program with the Program (or with a work based on the Program) on + a volume of a storage or distribution medium does not bring the + other work under the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, + under Section 2) in object code or executable form under the terms + of Sections 1 and 2 above provided that you also do one of the + following: + + a. Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of + Sections 1 and 2 above on a medium customarily used for + software interchange; or, + + b. Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a + medium customarily used for software interchange; or, + + c. Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with + such an offer, in accord with Subsection b above.) + + The source code for a work means the preferred form of the work for + making modifications to it. For an executable work, complete + source code means all the source code for all modules it contains, + plus any associated interface definition files, plus the scripts + used to control compilation and installation of the executable. + However, as a special exception, the source code distributed need + not include anything that is normally distributed (in either + source or binary form) with the major components (compiler, + kernel, and so on) of the operating system on which the executable + runs, unless that component itself accompanies the executable. + + If distribution of executable or object code is made by offering + access to copy from a designated place, then offering equivalent + access to copy the source code from the same place counts as + distribution of the source code, even though third parties are not + compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program + except as expressly provided under this License. Any attempt + otherwise to copy, modify, sublicense or distribute the Program is + void, and will automatically terminate your rights under this + License. However, parties who have received copies, or rights, + from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 5. You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to modify + or distribute the Program or its derivative works. These actions + are prohibited by law if you do not accept this License. + Therefore, by modifying or distributing the Program (or any work + based on the Program), you indicate your acceptance of this + License to do so, and all its terms and conditions for copying, + distributing or modifying the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the + Program), the recipient automatically receives a license from the + original licensor to copy, distribute or modify the Program + subject to these terms and conditions. You may not impose any + further restrictions on the recipients' exercise of the rights + granted herein. You are not responsible for enforcing compliance + by third parties to this License. + + 7. If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent + issues), conditions are imposed on you (whether by court order, + agreement or otherwise) that contradict the conditions of this + License, they do not excuse you from the conditions of this + License. If you cannot distribute so as to satisfy simultaneously + your obligations under this License and any other pertinent + obligations, then as a consequence you may not distribute the + Program at all. For example, if a patent license would not permit + royalty-free redistribution of the Program by all those who + receive copies directly or indirectly through you, then the only + way you could satisfy both it and this License would be to refrain + entirely from distribution of the Program. + + If any portion of this section is held invalid or unenforceable + under any particular circumstance, the balance of the section is + intended to apply and the section as a whole is intended to apply + in other circumstances. + + It is not the purpose of this section to induce you to infringe any + patents or other property right claims or to contest validity of + any such claims; this section has the sole purpose of protecting + the integrity of the free software distribution system, which is + implemented by public license practices. Many people have made + generous contributions to the wide range of software distributed + through that system in reliance on consistent application of that + system; it is up to the author/donor to decide if he or she is + willing to distribute software through any other system and a + licensee cannot impose that choice. + + This section is intended to make thoroughly clear what is believed + to be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in + certain countries either by patents or by copyrighted interfaces, + the original copyright holder who places the Program under this + License may add an explicit geographical distribution limitation + excluding those countries, so that distribution is permitted only + in or among countries not thus excluded. In such case, this + License incorporates the limitation as if written in the body of + this License. + + 9. The Free Software Foundation may publish revised and/or new + versions of the General Public License from time to time. Such + new versions will be similar in spirit to the present version, but + may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the + Program specifies a version number of this License which applies + to it and "any later version", you have the option of following + the terms and conditions either of that version or of any later + version published by the Free Software Foundation. If the Program + does not specify a version number of this License, you may choose + any version ever published by the Free Software Foundation. + + 10. If you wish to incorporate parts of the Program into other free + programs whose distribution conditions are different, write to the + author to ask for permission. For software which is copyrighted + by the Free Software Foundation, write to the Free Software + Foundation; we sometimes make exceptions for this. Our decision + will be guided by the two goals of preserving the free status of + all derivatives of our free software and of promoting the sharing + and reuse of software generally. + + NO WARRANTY + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE + LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT + WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT + NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE + QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE + PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY + SERVICING, REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN + WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY + MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE + LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, + INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR + INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF + DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU + OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY + OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Programs +============================================= + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES. + Copyright (C) 19YY NAME OF AUTHOR + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + Also add information on how to contact you by electronic and paper +mail. + + If the program is interactive, make it output a short notice like +this when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details + type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + + The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w' and `show +c'; they could even be mouse-clicks or menu items--whatever suits your +program. + + You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the program, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + SIGNATURE OF TY COON, 1 April 1989 + Ty Coon, President of Vice + + This General Public License does not permit incorporating your +program into proprietary programs. If your program is a subroutine +library, you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use the +GNU Library General Public License instead of this License. + + +File: gnushogi.info, Node: About shogi, Next: gnushogi, Prev: License, Up: Top + +2 About the game of shogi +************************* + + "Japanese chess cedes nothing in depth or beauty to the European + game... it is at least as interesting." + + -- Alexander Alekhine + (quoted in David Pritchard, `The Encyclopedia of Chess Variants') + + + "... shogi [is] by far the most complex form of chess that has ever + achieved widespread popularity." + + -- R. Wayne Schmittberger, `New Rules for Classic Games' + + + Shogi is the version of chess played in Japan. It is strikingly +different from standard chess (which I shall refer to henceforth as +"international chess") and also to all other regional variants, because +captured pieces can re-enter play on the side of the capturer. This +has several interesting effects on the play of the game: + + + 1. Shogi is much more complex than international chess, at least in + terms of the average number of possible moves per turn (estimated + at about 35 for chess and at about 80 for shogi). + + 2. There are almost no draws (about 1-2% of all games in professional + play). + + 3. Exchanges complicate the play rather than simplifying it. + + 4. There are no "endgames" in the standard chess sense; all pieces + remain in play throughout the game. Games typically end in a race + to checkmate the other player before being checkmated oneself. + + 5. Ownership of a piece is not indicated by the color of the piece; + instead, pieces are wedge-shaped and point towards the opponent. + The name of the piece is inscribed in Kanji characters on the + front of the piece. + + 6. Most importantly: it's more fun than other forms of chess :-) + + + + Shogi is extremely popular in Japan; it has been estimated that 20 +million Japanese can play shogi, of which perhaps 1 million are active +players. It is even more popular there than the game of go, Japan's +other favorite board game. There are a number of professional players +who make a considerable amount of money playing in shogi tournaments, +and the game receives extensive newpaper and television coverage. +Despite this, the game has yet to become popular outside of Japan. Part +of this is because the Kanji characters on the pieces scare away some +people, but mostly it's due, I think, to lack of exposure to the game +and to the difficulty of finding opponents. I hope that GNU shogi will +help introduce shogi to a wider audience. + +* Menu: + +* The rules of shogi:: +* Sample game:: +* Mating problems:: +* Shogi variants:: +* Differences between shogi and chess:: + + +File: gnushogi.info, Node: The rules of shogi, Next: Sample game, Prev: About shogi, Up: About shogi + +2.1 The rules of shogi +====================== + +Shogi is a two-person abstract strategy board game with full information +(i.e. all pieces and moves are visible to both players at all times). +It is in the chess family, being descended from the same ancestral game +as international chess: the Indian game of Chaturanga. The two players +are referred to as "Black" and "White", with Black moving first (unlike +in international chess, where White moves first), and with movement +alternating between the two players. Note that "Black" and "White" are +just names; the pieces are not colored. Instead, they are flat, +wedge-shaped pieces which point towards the opponent. The identity of +a given piece is indicated by two Japanese Kanji characters on each +piece. In fact, only the top character is needed to identify the piece +and thus only the top character is used in shogi diagrams. I will use +alphabetical equivalents in the diagrams here; to see what the Kanji +characters look like, start up xshogi (*note xshogi::) and compare the +starting setup there with the starting setup in this file (*note The +opening setup::). + + The object of the game is to capture the opponent's King. The board +is a grid of 9x9 uncolored squares, and pieces are placed on the +squares. Each player begins with 20 pieces, described in the next +section. Capture is by displacement, as in international chess. + +* Menu: + +* The moves of the pieces:: +* The opening setup:: +* Promotion of pieces:: +* Drops:: +* Winning the game:: +* Draws:: +* Handicaps:: +* Notes for chess players:: + + +File: gnushogi.info, Node: The moves of the pieces, Next: The opening setup, Prev: The rules of shogi, Up: The rules of shogi + +2.1.1 The moves of the pieces +----------------------------- + +Each player at the beginning of a shogi game has a total of 20 pieces of +eight different types. The moves of the shogi pieces can be divided +into three classes: "stepping" pieces, that only move one square at a +time; "ranging" pieces that move any number of unobstructed squares in +a line, and "jumping" pieces that can jump over obstructing pieces to +reach their destination squares. Most pieces can also promote to +different (usually stronger) pieces under certain circumstances (see the +next section). All pieces capture the same way that they move (even +pawns). The piece moves and promotions are as follows; each piece name +is followed by the standard piece abbreviation: + + 1. The king (K). The king can move one square in any horizontal, + vertical, or diagonal direction, just like the king in + international chess. The king does not promote. + + 2. The rook (R). The rook can move any number of squares in a + horizontal or vertical direction. The rook is the same as the + rook in international chess (except that it can promote). A rook + promotes to a "dragon king" or "dragon" for short (often just + referred to as a "promoted rook"), which can move as a rook or can + move one square in any diagonal direction. + + 3. The bishop (B). The bishop can move any number of squares in a + diagonal direction. The bishop is the same as the bishop in + international chess (except that it can promote). A bishop + promotes to a "dragon horse" or "horse" for short (often just + referred to as a "promoted bishop"), which can move as a bishop or + can move one square in any horizontal or vertical direction. + Note: the horse should not be confused with a knight (see below), + as they are two completely different pieces. + + 4. The gold general (G). A gold general can move one square in any + horizontal or vertical direction, or one square in a forward + diagonal direction. Gold generals do not promote. + + 5. The silver general (S). A silver general can move one square in + any diagonal direction, or one square straight forward. A silver + general promotes to a gold general. + + 6. The knight (N). A knight can move one square straight forward + followed by one square to either forward diagonal, jumping over + intervening pieces if any. In other words, a knight moves like + its international chess counterpart, but forward only. A knight + promotes to a gold general. The knight is the only jumping piece, + as in chess. + + 7. The lance (L). A lance can move any number of squares straight + forward. A lance promotes to a gold general. + + 8. The pawn (P). A pawn can move one square straight forward. The + pawn captures the same way that it moves, in contrast to + international chess. There is also no initial two-space move for + pawns and no _en-passant_ capture. A pawn promotes to a gold + general; a promoted pawn is usually known as a "Tokin". + + + +File: gnushogi.info, Node: The opening setup, Next: Promotion of pieces, Prev: The moves of the pieces, Up: The rules of shogi + +2.1.2 The opening setup +----------------------- + +The opening setup for shogi is as follows: + + 9 8 7 6 5 4 3 2 1 ++--------------------------------------------+ +| wL | wN | wS | wG | wK | wG | wS | wN | wL | a ++--------------------------------------------+ +| | wR | | | | | | wB | | b ++--------------------------------------------+ +| wP | wP | wP | wP | wP | wP | wP | wP | wP | c ++--------------------------------------------+ +| | | | | | | | | | d ++--------------------------------------------+ +| | | | | | | | | | e ++--------------------------------------------+ +| | | | | | | | | | f ++--------------------------------------------+ +| bP | bP | bP | bP | bP | bP | bP | bP | bP | g ++--------------------------------------------+ +| | bB | | | | | | bR | | h ++--------------------------------------------+ +| bL | bN | bS | bG | bK | bG | bS | bN | bL | i ++--------------------------------------------+ + + + Here, "b" stands for "black" and "w" stands for "white", so that, +for instance, "bL" means "black lance". The numbers above the files +and the letters to the right of the ranks represent the most common +notation system used for shogi by westerners (the Japanese also use +Arabic numerals for the files but use Japanese numerals for the ranks). + + +File: gnushogi.info, Node: Promotion of pieces, Next: Drops, Prev: The opening setup, Up: The rules of shogi + +2.1.3 Promotion of pieces +------------------------- + +In sharp contrast to international chess, where only pawns can promote +to higher-ranked pieces, most of the pieces in shogi can promote. The +promoted ranks are discussed in the section on piece moves (*note The +moves of the pieces::) but are repeated here for reference: + +Pawn + promotes to gold general (called a `tokin' in this case only). + +Lance + promotes to gold general. + +Knight + promotes to gold general. + +Silver general + promotes to gold general. + +Gold general + does not promote. + +Bishop + promotes to "dragon horse" or just "horse" for short. The horse + can move as a bishop or can move one square in any orthogonal + direction. + +Rook + promotes to "dragon king" or just "dragon" for short. The dragon + can move as a rook or can move one square in any diagonal + direction. + +King + does not promote. + + + + The three ranks furthest away from each player constitute his/her +"promotion zone". A player may, but is not required to, promote a +piece after making a move in which the piece begins and/or ends in the +promotion zone. Thus you can promote a piece when moving the piece into +the promotion zone, out of the promotion zone, or entirely within the +promotion zone. Promotion is mandatory in these cases: + + + 1. You must promote a pawn or a lance after moving it to the last + rank. + + 2. You must promote a knight after moving it to either of the last + two ranks. + + + + These forced promotions ensure that a piece cannot be moved to a +square from which it would have no further move. + + Pieces "dropped" onto the board (*note Drops::) always drop in the +unpromoted state, even if they drop into the promotion zone. + + +File: gnushogi.info, Node: Drops, Next: Winning the game, Prev: Promotion of pieces, Up: The rules of shogi + +2.1.4 Drops +----------- + +When a player captures a piece, that piece is not removed from play. +Instead, it becomes the property of the capturer and can re-enter play +by being placed on (almost) any vacant square during the player's move. +This is known as a "drop" and counts as a full move (in other words, +you can either move a piece on the board or drop a piece onto the board +during your move, but not both). All pieces drop in the unpromoted +state. Pieces may be legally dropped in their promotion zone, but they +do not promote on that turn. + + There are several restrictions on drops: + + 1. A pawn may not be dropped onto a file if there is already an + unpromoted pawn belonging to the same player on that file. It is + legal to drop a pawn on a file which contains a _promoted_ pawn + belonging to the same player, however. + + 2. A pawn may not be dropped to give immediate checkmate on the move. + A pawn is, however, permitted to be moved on the board to give + immediate checkmate. This is a curious rule, and if anyone knows + the reason for it I would appreciate it if they would contact me + and explain it to me :-) + + 3. A pawn or piece may not be dropped onto a square from which they + would have no legal move. This means that pawns and lances may + not be dropped onto the last rank, and the knight may not be + dropped onto the last or second-to-last rank. + + + It is entirely permissible (and often advisable) to drop a piece or +pawn between one's King and an attacking ranging piece. For this +reason, the final checkmating move is nearly always an attack on the +King from an adjacent square (except for an attack by a Knight). + + Captured pieces are said to be pieces "in hand". + + The drop is the primary distinguishing feature of Japanese chess, +shared with no other popular chess-type game. It gives shogi a very +aggressive quality, and dramatically increases the number of possible +moves once a few pieces have been captured. Another interesting +feature of shogi is that exchanges complicate play rather than +simplifying it (as in international chess), because of the drop rule. + + +File: gnushogi.info, Node: Winning the game, Next: Draws, Prev: Drops, Up: The rules of shogi + +2.1.5 Winning the game +---------------------- + +A game of shogi is won by capturing the opponent's king. In general, +this is done by checkmating the king: attacking the king in such a way +that the king cannot be defended no matter what the defending player +moves. Note, though, that there is no rule that requires a player to +defend a king which is being attacked. However, if he does not defend +his king, the opponent is entirely free to capture it on the next move, +thus winning the game. As in international chess, in practice most +games end by resignation when one player realizes that he cannot escape +checkmate. + + +File: gnushogi.info, Node: Draws, Next: Handicaps, Prev: Winning the game, Up: The rules of shogi + +2.1.6 Draws +----------- + +There are very few draws in shogi; only about 1-2% of professional games +end in a draw. One reason for this is that material can never be +depleted as in chess, because captured pieces are constantly re-entering +play as a consequence of the drop rule. In fact, most of the ways a +game can be drawn in chess are not allowed in shogi: + + + * Draws cannot be offered. + + * There is no fifty-move rule. + + * A stalemate counts as a win for the stalemater. Stated otherwise: + if you can't move, you lose. + + * Perpetual check is illegal (see below). + + + + There are only two legal ways in which a draw can occur: + + + 1. A position (including the pieces in hand) occurs 4 times with the + same player to move (called "Sennichite"). However, if this is + caused by consecutive checks (direct attacks on the King, + threatening to capture it on the next move) by one side, the + player giving these checks loses the game. In other words, + perpetual check results in a loss for the attacker who recreates + the same position the 4th time. + + 2. Both players have moved their King into the the promotion zone (or + they cannot be prevented from doing so) and the Kings cannot be + checkmated. A King who has entered the promotion zone is known as + an "entering King"; due to the forward orientation of most shogi + pieces, it is very hard to mate such a King. In that case the + players may decide to count their pieces as follows: the King does + not count, the Rook and Bishop count as 5 points, and all other + pieces as one point. Promotion is disregarded. If both players + have at least 24 points the game is a draw (called "Jishogi"). If + a player has less, he loses the game. + + Of course, a player can refuse to count pieces when he still has + mating chances or chances to gain material which would affect the + outcome of the counting. There is no strict rule about what to do + if this is not the case, but nonetheless a player refuses to count + up (e.g. because he does not have enough points for a draw). It + has been generally accepted that in such a case the game ends and + the pieces are counted after one player has managed to get all his + pieces protected in the promotion zone. + + + + +File: gnushogi.info, Node: Handicaps, Next: Notes for chess players, Prev: Draws, Up: The rules of shogi + +2.1.7 Handicaps +--------------- + +Unlike international chess, shogi has a well-established handicap system +which is used when players of different strengths play against each +other. Handicaps range from small to huge, which makes it possible for +weak players to play against even very strong players and have an even +chance of winning. + + Shogi players are ranked as follows: the weakest rank is around 15 +"kyu", which represents a beginner. 14 kyu is higher than 15 kyu, 13 +kyu is higher still, and so on until you get to 1 kyu. The next highest +rank is 1 "dan", followed by 2 dan, 3 dan and so forth. The highest +amateur rank is 6 dan; professionals go up to 9 dan. However, +professional ranks are not the same as amateur ranks; a professional 1 +dan is _much_ stronger than an amateur 1 dan. This system is similar +to that used by go players (and also other Japanese sports such as +karate). + + A handicap consists of the stronger player playing White and removing +one or more pieces from his side of the board at the start of the game. +These pieces are permanently removed from play; they are not in hand. + + The following is a list of the accepted handicaps, from weakest to +strongest. The degree of the handicap, represented by the position in +the list, represents the difference in rank between the two players for +which the handicap is appropriate. These rules are taken from the books +"Shogi for Beginners" by John Fairbairn and "The Art of Shogi" by Tony +Hoskings (*note References and links::) and, I believe, represent +current Japanese practice. + + + 1. The stronger player removes his left lance (on 1a). + + 2. The players play a two-game match; in the first game the stronger + player removes his left lance (on 1a), while in the second game he + removes his bishop. + + 3. The stronger player removes his bishop. + + 4. The stronger player removes his rook. + + 5. The stronger player removes his rook and left lance. + + 6. The players play a two-game match; in the first game the stronger + player removes his rook and left lance (on 1a), while in the + second game he removes his rook and bishop. + + 7. The stronger player removes his rook and bishop. This is usually + called a "two-piece" handicap. + + 8. The stronger player removes his rook, bishop, and both lances. + This is called a "four-piece" handicap. + + 9. The stronger player removes his rook, bishop, both lances, and both + knights. This is called a "six-piece" handicap. + + 10. The stronger player removes his rook, bishop, both lances, both + knights, and both silvers. This is called an "eight-piece" + handicap. + + + + Another advantage of playing handicap games is that the handicaps +alter the optimal strategy for both players. For instance, handicaps +all have their own opening lines which may bear little or no +resemblance to those used in non-handicap shogi. This means that when +learning handicap shogi, you are essentially learning completely new +games which use the same equipment! + + The reader may wonder how on earth a player giving an eight-piece +handicap, say, could possibly hope to win. Don't forget, though, that +in shogi the opponent's pieces can be captured and then become part of +one's own army. Thus, if the opponent plays badly enough, the number of +pieces will soon even out. + + +File: gnushogi.info, Node: Notes for chess players, Prev: Handicaps, Up: The rules of shogi + +2.1.8 Notes for chess players +----------------------------- + +Here are a few miscellaneous things that may confuse chess players. +Some of these have been mentioned elsewhere, but they bear repeating. + + + 1. There is no queen. + + 2. Pawns capture the same way they move. There is no initial + two-space pawn move and no _en-passant_ move. + + 3. There is no special castling move. There _are_ a large number of + possible defensive formations referred to as "castles" (*note + Sample game::) but there is no need for special moves to create + them. + + 4. A given piece can only promote to _one_ other kind of piece. + + + + +File: gnushogi.info, Node: Sample game, Next: Mating problems, Prev: The rules of shogi, Up: About shogi + +2.2 Sample game +=============== + +This game was annotated by Pieter Stouten (*note References and +links::). I have made some minor corrections. Note that captures are +denoted by the "x" symbol e.g. Rx3f and drops are denoted by the "*" +symbol e.g. R*3f. Check is indicated by a "+" after the move, e.g. +R3f+. I recommend you use gnushogi/xshogi to play along with this +game. In xshogi simply hit the "Force Moves" button after starting up, +while in gnushogi enter the word "force" at the prompt. This will +allow you to enter moves for both sides. + + Note also that the move numbering system used here is the chess-type +system where one move means one move by each player. The Japanese count +one move made by each player as two moves. + +-------------------------------------------------------------------------- + + Below you will find (the English translation of) an annotated game +which was published in the Dutch Shogi magazine "81" and in the Dutch +beginners booklet. It has proven to be a very useful game to explain +some basic principles of Shogi. Also, it is a rather straightforward +game compared to professional games where in most cases very diffuse +middle game fights take place. + + Pieter Stouten, 14th May 1990. + +-------------------------------------------------------------------------- + + Black: Michael Trent (1-dan). White: David Murphy (2-dan). + + 1. P2f P3d 2. P2e B3c +[ This move is necessary, as otherwise white can exchange pawns: 3. P2d +Px2d 4. Rx2d. He would thus get a pawn in hand and open up his rook +file. ] + + 3. P7f P4d +[ White closes the bishop diagonal again. He plans to play ranging rook +(the rook goes to 5b, 4b, 3 or 2b; a defensive strategy) and in that +case he'd better avoid an exchange of bishops. One of the reasons is +that he will have problems developing his pieces without leaving holes +for bishop drops. ] + + 4. S4h R3b 5. P3f S4b 6. K6h K6b +[ In general the rook plays an important role in the attacks. It is +wise to move the king away from the area where the initial fights will +be and both players act according to the Shogi proverb "keep the rook +and king apart". ] + + 7. K7h K7b 8. P5f P5d 9. G4i-5h G4a-5b +[ Both players use their second gold general to build their castle. ] + + 10. S6h +[ In itself this move is not bad. However, it will become clear that +black plans a quick attack and in that case it is wiser to omit this +move. ] + + 10... S5c 11. P1f P1d +[ The advance of the edge pawns must be timed very well. The remark at +black's tenth move applies here too: this move is good if black wants to +play a slow game, because it eliminates a future B1e. ] + + 12. P4f K8b 13. N3g S7b +[ Black develops his knight in order to start an attack over the second, +third and fourth files. White strengthens his king's position and +awaits the attack. He aims at a counterattack as soon as black has +broken through into the white camp. Probably white's breakthrough will +take place later, but he has good compensation in the form of a stronger +castle. This theme occurs very often in static rook versus ranging rook +games. ] + + 14. P4e R4b +[ Black starts his attack and white puts up a very passive defence. His +rook has a hard task now to penetrate the black position. Moreover, he +blocks his own bishop. It seems much better to start a counterattack +with 14... P3e, later to be followed by B2b, B5a or Bx4d in order to use +his rook more actively. ] + + 15. Px4d Sx4d 16. P*4e S5c +[ 16... Sx4e is more active. A silver general is normally more valuable +than a knight, but white gets two pawns in hand and black none, while +the knight might come in handy for white too. ] + + 17. Bx3c+ Nx3c 18. P2d Px2d +[ Black threatens to break through and white has to consider taking the +pawn on 2d or starting a counterattack with Nx4e. If he chooses the +latter, black can play Px2c+ followed by +P3c. The disadvantage is the +black "tokin" (=promoted pawn) that white will get in his camp; the +advantage is that it will cost black two more moves to promote his rook. +Because white did not trust that the result after engaging in a +"semeai" (=mutual attack) with 18...Nx4e would give a positive result, +he captured the pawn on 2d. Making the right decision in moments like +this often makes the difference between a win and a loss: miss one +attacking chance and you will be forced to defend the whole game until +the unavoidable defeat; on the other hand, an unsound attack can destroy +all "aji" (=potential, meaning possibilities, threats) without getting +anything in return. ] + + 19. Rx2d Nx4e 20. Nx4e Rx4e 21. R2a+ P*4g +[ Now it becomes clear why black's 10. S6h was not good. Had this move +been omitted, then white would not have had the time to play 13... S7b +and after R2a+ the gold on 6a would hang. Thus black would have kept +"sente" (=initiative). Instead of 21... P*4g, B*6d is a very good +move, because after 22. P*2h black does not have a pawn in hand anymore +and he is being threatened with the annoying 22... N*4f 23. G5g N3h+ +24. S4g +N4h also. Black can also counter 21... B*6d with 22. N*3g. +White would then reply with 22... R4b 23. B*3c P*4g 24. Bx4b+ Sx4b. The +white rook has played its role and instead of spending moves on saving +it white starts to scatter black's defences by successive pawn drops on +the fourth file: 25. Gx4g P*4f 26. G5g N*6e 27. G5h P4g+ 28. Gx4g P*4f. +This analysis was provided by Kato Hifumi, 9-dan professional (the +highest regular grade). Destroying the coherence of the enemy pieces +(their shape) by dropping pawns is one of the most important Shogi +techniques. With the actual move 21... P*4g white missed a good +chance. ] + + 22. Sx4g P*4f 23. B*3g Px4g+ 24. +Rx6a +Px3g +[ 23. B*3g seems pointless, but a closer look reveals that it is +actually quite mean. On move 24 white cannot capture black's "Ryu" +(=dragon =promoted rook) with his silver: 24... Sx6a 25. N*7d K7b 26. +G*8b mate. By attacking the front of the white castle and threatening +to mate him there, black has the chance to break down the white +defences from the side. ] + + 25. +Rx5b S*6b +[ Here 25... B*4d would be much better, because it is defensive and +attacking at the same time. After e.g. 26. G*4c Bx9i+ 27. Gx5c black +threatens 28. +Rx7b Kx7b 29. S*6a K8b 30. S*7a Kx7a 31. G*7b mate. +White is one move quicker, however. He has the following beautiful +"tsume" (mating sequence where every move is check): 27... N*8f 28. Px8f +S*8g 29. Kx8g B*9h 30. K7h Bx8i+ 31. K8g +B8i-8h 32. K9f L*9e mate. +This illustrates the sharpness of Shogi: one move can make the +difference between winning and losing. ] + + 26. P*4f Rx4f +[ This move eliminates white's last chances. 26... R4b 27. +Rx4b Sx4b +28. R*4a seems annoying, but after 28... B*3c 29. S7g B*3b white wins +the rook and with his "tokin" on 3g there still is some hope. ] + + 27. N*6e +P4g +[ White cannot defend anymore, so he starts a desperate attack. Black +does not lose the right track, however. ] + + 28. Nx5c+ +Px5h 29. +Nx6b +Px6h 30. Gx6h N*8f 31. Px8f B*6i 32. +Gx6i R4h+ 33. N*6h +Rx6h 34. Gx6h S*8g 35. Kx8g N*9e 36. K7h +Resigns +[ White resigns here, because after 36... B*8g 27. K7g his attack has +petered out. ] + + +File: gnushogi.info, Node: Mating problems, Next: Shogi variants, Prev: Sample game, Up: About shogi + +2.3 Mating problems +=================== + +One good way to improve at shogi is to solve mating problems. There are +several types of these problems, but the most common is called a +"tsume-shogi" problem, or "tsume" problem for short. In a tsume +problem, all pieces that are not on the board are assumed to be in the +opponent's hand (except for your King, which is usually not shown). +Every move you make must be check until the final checkmate. Your +opponent may play any piece on the board or drop any of his pieces in +hand in order to prevent the mate. In a properly constructed tsume +problem, all of your pieces on the board and in hand must be essential +to the solution. One consequence of this is that all of your pieces in +hand must be played during the solution. There should only be one +correct solution for the given number of moves. Tsume problems use +Japanese-style move numbering; thus, a problem where you move (and give +check), your opponent moves, and you move to give checkmate is called a +three-mover. Here is a really trivial three-mover: + + + 3 2 1 +---------------+ +| | | | a +---------------+ +| | | wK | b +---------------+ +| | | | c +---------------+ +| bN | | | d +---------------+ +| | | | e +---------------+ +| | bN | | f +---------------+ + +Black in hand: S, G + + + Here, Black plays G*2b, White plays K1c, and Black plays G*1d mate. +More typical tsume problems range from 5 moves to arbitrarily high +numbers of moves, and they can be quite brain-busting. Tsume problems +may seem artificial, but in the closing stages of the game where both +players have a lot of pieces in hand, it is often necessary to give +check at every move, or else your opponent will start a counterattack +and will mate you before you mate him. A tsume problem is a worst-case +scenario for the attacker: you have to mate your opponent even though he +has every piece not on the board in hand, which means you have to +develop sharp attacking skills. Many more tsume problems can be found +on the internet; I particularly recommend Patrick Davin's "Shogi Nexus" +(*note References and links::). + + +File: gnushogi.info, Node: Shogi variants, Next: Differences between shogi and chess, Prev: Mating problems, Up: About shogi + +2.4 Shogi variants +================== + +Several historical variants of shogi exist. Most of these were invented +before modern shogi (in some cases hundreds of years before), are much +larger than modern shogi and are not played with drops. Thus, in many +ways they are really more like giant chess games than like modern shogi. +The only one of these games to have survived in Japan is Chu (middle) +shogi, which is still played a little bit. Thanks to the efforts of +George Hodges and John Fairbairn of the Shogi Association (two British +shogi enthusiasts), these games were resurrected and rules and sets for +them can still be purchased from George Hodges (*note References and +links::). I hope to eventually extend GNU shogi so that it can play at +least some of these games. There are also several non-historical +variants of shogi; I don't know much about them but you can find +information about them on the internet (*note References and links::). + + The historical variants include: + + + 1. Tori (bird) shogi, played on a 7x7 board with 32 pieces in all; + this is the only variant that is known to have been played with + drops. + + 2. Wa shogi, played on an 11x11 board with 54 pieces. This game can + be played with or without drops but the historical evidence favors + the view that it was played without drops. However, most people + who have tried it claim it is a much better game with drops, being + even more intricate than standard shogi. + + 3. Chu (middle) shogi, played on a 12x12 board with 92 pieces. This + was (and is) by far the most popular of the variants, and has 21 + different kinds of pieces in the starting line-up alone (along + with several others that appear upon promotion). Unlike modern + shogi, there are a tremendous number of ranging pieces and the + game is definitely not played with drops. There is also an + amazing piece called the Lion which has a double king move and can + capture two pieces at once! Chu shogi has a small but fanatical + following, some of whom consider it better than modern shogi. + + 4. Dai (great) shogi, played on a 15x15 board with 130 pieces. Other + than the larger board, this game is very similar to Chu shogi. + + 5. Tenjiku (exotic) shogi, played on a 16x16 board with 176 pieces. + This game is possibly the most complex tactical game in existence. + There are many astoundingly powerful pieces, including one (the + Fire Demon) that can capture up to eight opposing pieces in a + single move! Despite the size of the game, checkmates can occur + very suddenly (and often very early on) if one player makes a + wrong move. Tenjiku also has a small but fanatical following, one + of whom (Colin Adams) has written a book on the game which is + available for download at + `http://www.colina.demon.co.uk/tenjiku.html'. + + 6. Dai-dai (great-great) shogi, played on a 17x17 board with 192 + pieces. The opening setup alone has 64 different kinds of pieces! + This game and the larger ones that follow sound pretty outlandish, + but they have actually been played; a game of Dai-dai can + supposedly be played in about 12 hours. + + 7. Maka-dai-dai (great-great-great) shogi, played on a 19x19 board + with 192 pieces. For those for whom Dai-dai shogi is just too + small :-) + + 8. Tai (grand) shogi, played on a 25x25 board with 354 pieces! Until + recently, this was thought to be the biggest chess game ever + devised, but now there is... + + 9. Kyoku tai (extremely grand?) shogi, played on a 36x36 board with + 402 pieces. The rules for this have just been unearthed in an old + Japanese book. Hopefully someone will soon organize a postal + Kyoku tai shogi championship; maybe their distant ancestors could + finish it :-) + + It is thought that the really huge games (Dai-dai and up) were + never really played to any significant extent (gee, wonder why?) + and were devised merely so that the creators could have the fun of + inventing enormous games, amazing their friends and confounding + their enemies. However, the games up to Tenjiku shogi at least + appear to be quite playable, assuming one has the time. + + + + +File: gnushogi.info, Node: Differences between shogi and chess, Prev: Shogi variants, Up: About shogi + +2.5 Differences between shogi and chess +======================================= + +Some differences between shogi and international chess have been +mentioned elsewhere in this document; I summarize them here for people +who are interested in game comparisons. I won't try to deal with the +thorny question of which game is "better" although my bias may have +already come through :-) In fact, the drop rule makes the two games so +different in character that arguing over which game is better is like +comparing apples to oranges (you'd be better off comparing chess to Chu +shogi (*note Shogi variants::). However, I believe that if you are a +chess fan you'll really like shogi as well, and shogi is also popular +with many people who don't particularly like chess. + + Here are the significant differences between chess and shogi: + + + 1. In shogi, captured pieces become the property of the capturer and + can re-enter play by being dropped onto almost any vacant square. + In chess, captured pieces are out of the game. Thus, in shogi, + piece exchanges complicate the play significantly while in chess + they simplify it. + + 2. The shogi board is 9x9; the chess board is 8x8. + + 3. Shogi has five pieces with no counterpart in chess: the gold and + silver generals, the lance, the promoted rook and the promoted + bishop. Chess has one piece with no counterpart in shogi: the + queen. The knight's move in shogi is much more restrictive than + in chess. Pieces in shogi generally have a much smaller range of + movement than in chess (unless they are in hand). + + 4. In shogi, all pieces except the gold general and the king can + promote, but only to one kind of piece. Promotion is easier in + shogi because the promotion zone is closer to the starting + position of the pieces (especially pawns). In chess, only the + pawn can promote, but it can promote to any other piece except the + king. + + 5. In shogi, pawns capture the same way they move. There is no + initial two-space pawn move and hence no _en-passant_ captures. + In chess, pawns capture diagonally which means that opposing pawns + can block each other. + + 6. In shogi, you only have one rook and one bishop. Note that the + bishop is not restricted to only one "color" square (squares in + shogi aren't colored, but never mind) because promoted bishops can + also move one square orthogonally. + + 7. There is no special castling move in shogi. The term "castle" is + used in shogi to denote a defensive formation consisting of + (usually) three generals which protect the king. There are many + such castles (about 40 or so have names). *Note Sample game::. + + 8. Draws are much rarer in shogi than in chess. Perpetual check is + not allowed. Stalemate is a virtual impossibility, and is a loss + for the stalematee. + + 9. Since pieces are never out of play in shogi, chess-type endgames + involving only a few pieces do not occur. + + 10. Shogi games are generally longer than chess games (about 60-70 + moves is typical). + + 11. Shogi has a well-developed handicap system which is in general use; + chess does not. + + + + The effects of all these differences on play include (in my opinion): + + + 1. Piece/pawn structures in chess are more rigid than in shogi. Pawns + block each other and pawns, once advanced, cannot ever retreat. In + shogi, you can repair the hole caused by a pawn advance by + exchanging the pawn and dropping it back where you want it. Thus + shogi is more fluid than chess and less "structural". + + 2. Counterattack is MUCH more common in shogi than in chess. Games + typically end in mutual mating attacks, where each player is + trying to checkmate the other player before being checkmated + himself. This makes tempo incredibly important and also makes + sacrificial play quite common. + + 3. Attacks involving only ranging pieces are more a feature of chess + than of shogi. A shogi attack typically uses a ranging piece or + pieces to support an attack by short-range pieces (especially + generals). It is very rare to mate a king with a non-adjacent + ranging piece in shogi since the player whose king is threatened + can almost always interpose by dropping a piece. + + + + +File: gnushogi.info, Node: gnushogi, Next: xshogi, Prev: About shogi, Up: Top + +3 gnushogi +********** + +This section describes how to run the "gnushogi" program. + + + SYNOPSIS + + + gnushogi [ [[-]a] [-b bookfile] [-B binbookfile] [-C] [-h langfile] +[-L langfile] [-r length] [-R] [-s pathname] [-l pathname] [-S +binbooksize] [-t] [-c size] [-T size] [-v] [-x] [-X] arg1 arg2 ] + + + DESCRIPTION + + + GNU shogi (gnushogi) plays a game of japanese chess (shogi) against +the user or it plays against itself. + + At startup gnushogi reads the binbook file if it is present. It then +looks for a book file. If it is present it adds its contents to the +binbook data. If the binbook file is writable a new combined binbook +file is written. + + Gnushogi is a modified version of the gnuchess program. It has a +simple alphanumeric board display, or it can be used with the xshogi +program under X windows. The program gets its opening moves from the +file gnushogi.bbk which is located in a directory specified in the +Makefile. To invoke the program type: + + +`gnushogi -C' + simple curses based version + +`gnushogi -X (or just gnushogi)' + xshogi compatible version + +`gnushogi -R' + raw test display version + + + TIME CONTROLS + + + If one argument is given, it is the search time per move in +[minutes:]seconds. So gnushogi 30 will generate one move every 30 +seconds, while gnushogi 5:00 will generate one move every 5 minutes. + + If two or more arguments are given, they will be used to set +tournament time controls with the first argument of each pair being the +number of moves and the second being the total clock time in +minutes[:seconds]. Thus, entering gnushogi 60 5 will set the clocks +for 5 minutes (300 seconds) for the first 60 moves, and gnushogi 30 +3:30 will allow 3 minutes and 30 seconds for 30 moves. + + gnushogi 30 5 1 :30 will allow 5 minutes for the first 30 moves and +30 seconds for each move after that. Up to 4 pairs of controls may be +specified. + + If no argument is given the program will prompt the user for level of +play. + + For use with xshogi see the documentation on that program. *Note +xshogi::. + + + BOOK + + + The book gnushogi.tbk consists of a sequence of openings. An opening +begins with a line starting with a # (the rest of the line is a +comment). Following this is a series of moves in algebraic notation +alternating between black and white separated by whitespace. A move +may have a ? after it indicating this move should never be made in +this position. Moves are stored as position:move so transpositions +between openings can take place. + + + HASHFILE + + + The hashfile if created should be on the order of 4 megabytes; you +can create such a hashfile by typing "gnushogi -c 22" (see below). This +file contains positions and moves learned from previous games. If a +hashfile is used the computer makes use of the experience it gained in +past games. Tests run so far show that it plays no worse with the +hashfile than without, but it is not clear yet whether it provides a +real advantage. + + + LEGAL MOVES + + + Note: Piece letters are determined by the language file. What is +specified here is the default (English). + + Once gnushogi is invoked, the program will display the board and +prompt the user for a move. To enter a move, use the notation 7g7f +where the first letter-number pair indicates the origin square and the +second letter-number pair indicates the destination square. An +alternative is to use the notation P7f where the first letter indicates +the piece type (P,L,N,S,G,B,R,K). To promote append a + the type of +the new piece to the move, as in 2d2c+ or P2c+. Note that you must use +capital letters for the pieces by default. + + + COMMAND-LINE OPTIONS + + +`-a' + Do not search on opponent's time. + +`a' + Do search on opponent's time. + +`-b BOOKFILE' + Use bookfile for opening book. + +`-B BINBOOKFILE' + Use binbookfile for binary opening book. + +`-c SIZE' + Create a new HASHFILE. File size is 2^size entries of + approximately 65+? bytes. + +`-C' + Use curses-based display mode. + +`-h' + Do not use hashfile. + +`h' + Do use hashfile. + +`-l PATHNAME' + Pathname of the loadfile used with get or xget. + +`-L LANG' + Use language lang from the file gnushogi.lang. If -L is not + specified it uses the first language in the file. + +`-P PLYLEVELS' + Number of plys to include in the binbookfile. For generating a + binbookfile. + +`-r LENGTH' + Rehash _length_ times in searching entries for position in + transposition table. + +`-R' + Use raw text display mode. This can be used for dumb terminals or + for systems that don't have curses. + +`-s PATHNAME' + Pathname of the save file to use with the save command. + +`-S SIZE' + Size of binbookfile for memory based books. For creating a + binbookfile. + +`-t' + Show statistics for HASHFILE. + +`-T SIZE' + Set the transposition table size to 2^size entries. + +`-v' + Show version and patchlevel. + +`-x VALUE' + Use value as the evaluation window xwndw. + +`-X' + Use xshogi display mode (the default). + + + + COMMANDS + + + In addition to legal moves, the following commands can be entered at +the gnushogi prompt. Note: command names are determined by the language +file and may vary with the implementation. The default language is +English. + +`alg' + allow algebraic input (not implemented). + +`Awindow' + change Alpha window (default score + 90). + +`Bwindow' + change Beta window (default score - 90). + +`beep' + toggles beeping after each move (default: on). + +`bd' + updates the current board position on the display. + +`book' + turns off use of the opening library. + +`both' + causes the computer to play both sides of a shogi game. + +`black' + causes the computer to play as White, if the computer was to move + first. + +`bsave' + saves a game to disk as a book textfile. The program will prompt + the user for a file name. + +`gamein' + toggles game mode time control. Assumes the time specified for + time control is the time for a complete game. Input with the + level command should be the game time and the expected number of + moves in a game. go command must be given. + +`coords' + show coordinates on the display (visual only). + +`contempt' + allows the value of _contempt_ to be modified. + +`debug' + asks for a piece as color piece, as wb or bn, and shows its + calculated value on each square. + +`debuglevel' + sets level of debugging output if compiled with debug options. + +`depth' + allows the user to change the search depth of the program. The + maximum depth is 29 ply. Normally the depth is set to 29 and the + computer terminates its search based on elapsed time rather than + depth. If depth is set to (say) 4 ply, the program will search + until all moves have been examined to a depth of 4 ply (with + extensions up to 11 additional ply for sequences of checks and + captures). If you set a maximum time per move and also use the + depth command, the search will stop at the specified time or the + specified depth, whichever comes first. + +`easy' + toggles easy mode (thinking on opponents time) on and off. The + default is easy mode ON. If easy mode is disabled, the keyboard + is polled for input every so often and when input is seen the + search is terminated. It may also be terminated with a sigint. + +`edit' + allows the user to set up a board position. + - # clear the board. + + - c toggle piece color. + + - . command will exit setup mode. + + - p3b place a pawn on 3b + + - p3b+ place a promoted pawn on 3b + + - p* place a pawn in hand (among the captured pieces) + + + Pieces are entered by typing a letter (p,l,n,s,g,b,r,k) for the + piece followed by the coordinate. Here, letter case is ignored. + + The usual warning about the language file applies. + +`exit' + exits gnushogi. + +`first' + tells the computer to move first. Computer begins searching for a + move. (same as "go"). + +`force' + allows the user to enter moves for both sides. To get the program + to play after a sequence of moves has been entered use the "black" + or "white" commands. + +`get' + retrieves a game from disk. The program will prompt the user for + a file name. + +`go' + tells the computer to move first. Computer begins searching for a + move. (same as "first"). + +`hash' + use/don't use hashfile. + +`hashdepth' + allows the user to change the minimum depth for using the hashfile + and the number of moves from the beginning of the game to use it. + +`help' + displays a short description of the commands and the current + status of options. + +`hint' + causes the program to supply the user with its predicted move. + +`level' + allows the user to set time controls such as 60 moves in 5 minutes + etc. In tournament mode, the program will vary the time it takes + for each move depending on the situation. If easy mode is + disabled (using the "easy" command), the program will often + respond with its move immediately, saving time on its clock for + use later on. + +`list' + writes the game moves and some statistics on search depth, nodes, + and time to the file "shogi.lst". + +`material' + toggle material flag - draws on no pawns and both sides < rook. + +`new' + starts a new game. + +`p' + evaluates the board and shows the point score for each piece. The + total score for a position is the sum of these individual piece + scores. + +`post' + causes the program to display the principal variation and the score + during the search. A score of 100 is equivalent to a 1 pawn + advantage for the computer. + +`quit' + exits the game. + +`random' + causes the program to randomize its move selection slightly. + +`rcptr' + set recapture mode. + +`remove' + backout the last level for both sides. Equal to 2 undo's. + +`reverse' + causes the board display to be reversed. That is, the Black's + pieces will now appear at the top of the board. + +`rv' + reverse board display. + +`save' + saves a game to disk. The program will prompt the user for a file + name. + +`switch' + causes the program to switch places with the opponent and begin + searching. + +`test' + performs some speed tests for MoveList and CaptureList generation, + and ScorePosition position scoring for the current board. + +`time' + set computer's time remaining, intended for synchronizing clocks + among multiple players. + +`tsume' + toggle tsume mode. In tsume mode, not all possible moves will be + generated. If a king is in check, only moves that get the king out + of check are generated. If the king is not in check, only moves + that give check to the opponent's king are generated. + +`undo' + undoes the last move whether it was the computer's or the human's. + You may also type "remove". This is equivalent to two "undo"'s + (e.g. retract one move for each side). + +`white' + causes the computer to play as Black; if the computer is to move + first the go command must be given. + +`xget' + read an xshogi position file. + +`xsave' + save as an xshogi position file. + +`xwndw' + change X window. The window around alpha/beta used to determine + whether the position should be scored or just estimated. Note: + this has _nothing_ to do with xshogi or X windows; the terms are + completely separate. + + + + +File: gnushogi.info, Node: xshogi, Next: References and links, Prev: gnushogi, Up: Top + +4 xshogi +******** + +This section describes how to run the "xshogi" program. + + + SYNOPSIS + + + xshogi [ options ] + + + DESCRIPTION + + + xshogi provides an X11/Xt/Athena Widgets user interface for gnushogi. +With xshogi you can play gnushogi, set up arbitrary positions, force +variations, or watch xshogi manage a game between two shogi programs. +Furthermore, it can be used as an interface between two players on +different displays. + + xshogi can also be used as a shogi board to play out games. It will +read through a game file or allow a player to play through a variation +manually (force mode). This is useful for keeping track of email postal +games or browsing games off the net. + + After starting xshogi, you can make moves by pressing mouse button 1 +while the cursor is over a square with your piece on it and dragging the +mouse to another square. If the move is illegal, gnushogi will not +allow it. xshogi will then retract the move. + + + COMMAND-LINE OPTIONS + + + The following command line options also correspond to X resources +that you can set in your .Xdefaults file. + + +`[standard Xt options]' + xshogi accepts standard Xt options like -display, -geometry, and + -iconic. + +`-tc or -timeControl minutes[:seconds]' + Amount of time for a set of moves determined by movesPerSession. + If this number of moves is played within the time control period, + xshogi resets the time clocks. Default: 5 minutes. + +`-mps or -movesPerSession moves' + Number of moves in a time control period. Default: 40 moves. + +`-st or -searchTime minutes[:seconds]' + Tell gnushogi to spend at most the given amount of time searching + for each of its moves. Without this option, gnushogi chooses its + search time based on the number of moves and amount of time + remaining until the next time control. Setting this option also + sets -clockMode to False. + +`-sd or -searchDepth number' + Tell gnushogi to look ahead at most the given number of moves when + searching for a move to make. Without this option, gnushogi + chooses its search depth based on the number of moves and amount + of time remaining until the next time control. Setting this + option also sets -clockMode to False. + +`-clock or -clockMode (True | False)' + Determines whether or not to use the clock. If clockMode is + False, the clock does not run, but the side that is to play next + is still highlighted. + +`-td or -timeDelay seconds' + Time delay between moves during "Load Game". This doesn't have to + be a round number. Try -td 0.4. Default: 1 second. + +`-nsp or -noShogiProgram (True | False)' + If this option is True, xshogi acts as a passive shogi board; it + does not try to start a shogi program, not even to check whether + moves made in Force mode are legal. It also sets -clockMode to + False. Default: False. + +`-fsp or -firstShogiProgram program' + Name of first shogi program. In matches between two machines, this + program plays white. Default: "gnushogi". + +`-ssp or -secondShogiProgram program' + Name of second shogi program, if needed. In matches between two + machines, this program plays black; otherwise it is not started. + Default: "gnushogi". + +`-fh or -firstHost host' + Name of host the first shogi program plays on. Default: + "localhost". + +`-sh or -secondHost host' + Name of host the second shogi program plays on. Default: + "localhost". + +`-rsh or -remoteShell shell_name' + Some systems do not use rsh as the remote shell. This option + allows a user to name the remote shell command. This should be + done in the resource file. + +`-mm or -matchMode (False | Init | Position | Opening)' + Automatically run a game between firstShogiProgram and + secondShogiProgram. If matchMode is set to Init, xshogi will + start the game with the initial shogi position. If matchMode is + set to Position, xshogi will start the game with the position + specified by the loadPositionFile resource. If matchMode is set + to Opening, xshogi will play out the opening moves specified by + the -loadGameFile resource. If the -saveGameFile resource is set, + a move record for the match will be saved in the specified file. + Default: "False". + +`-lgf or -loadGameFile file' + Name of file to read a game record from. Game files are found in + the directory named by the SHOGIDIR environment variable. If this + variable is not set, the current directory is used unless the file + name starts with a /. + +`-lpf or -loadPositionFile file' + Name of file to read a game position from. Position files are + found in the directory named by the SHOGIDIR environment variable. + If this variable is not set, the current directory is used unless + the file name starts with a /. + +`-sgf or -saveGameFile file' + Name of file to save a game record to. Game files are saved in the + directory named by the SHOGIDIR environment variable. If this + variable is not set, the current directory is used unless the file + name starts with a /. + +`-spf or -savePositionFile file' + Name of file to save a game position to. Position files are saved + in the directory named by the SHOGIDIR environment variable. If + this variable is not set, the current directory is used unless the + file name starts with a /. + +`-coords or -showCoords (True | False)' + If this option is True, xshogi displays algebraic coordinates + along the board's left and bottom edges. The default is False. + The coordFont resource specifies what font to use. + +`-mono or -monoMode (True | False)' + Determines whether xshogi displays its pieces and squares with two + colors or four. You shouldn't have to specify monochrome. xshogi + will determine if this is necessary. + +`-pc or -pieceColor color' + Color specification for pieces suitable for XParseColor(). + Default: #FFFFD7. + +`-sc or -squareColor color' + Same for squares. Default: #EBDFB0. + +`-wps or -westernPieceSet (True | False)' + Choose the Western style piece set. + +`-npb or -normalPawnBitmap file' + +`-nnb or -normalKnightBitmap file' + +`-nbb or -normalBishopBitmap file' + +`-nrb or -normalRookBitmap file' + +`-nkb or -normalKingBitmap file' + Names of the bitmap files for the bitmap piece icons. + +`-rpb or -reversePawnBitmap file' + +`-rnb or -reverseKnightBitmap file' + +`-rbb or -reverseBishopBitmap file' + +`-rrb or -reverseRookBitmap file' + +`-rkb or -reverseKingBitmap file' + Names of the bitmap files for the outline piece icons. + +`-debug or -debugMode (True | False)' + Turns on debugging printout. + + + + OTHER X RESOURCES + + +`initString' + The actual string that is sent to initialize the shogi program can + be set from .Xdefaults. It can't be set from the command line + because of syntax problems. The default value is + "new\nbeep\nrandom\neasy\n". The "new" and "beep" commands are + required. You can remove the "random" command if you like; + including it causes gnushogi to randomize its move selection + slightly so that it doesn't play the same moves in every game. + Even without "random", gnushogi randomizes its choice of moves + from its opening book. You can also remove "easy" if you like; + including it toggles easy mode off, causing gnushogi to think on + your time. That is, if "easy" is included in the initString, GNU + Shogi thinks on your time; if not, it does not. (Yes, this does + seem backwards, doesn't it.) You can also try adding other + commands to the initString; see the gnushogi documentation (*note + gnushogi::) for details. + +`blackString and whiteString' + These resources control what is sent when the Machine Black and + Machine White buttons are selected. This is mostly for + compatibility with obsolete versions of gnushogi. + + Alternate bitmaps for piece icons can be specified either by + choosing one of the built-in sets or with the file name resources + described above. There are three built-in sets of piece bitmaps + available, large (the default), medium, or small. It is easiest + to select the set you prefer in the .Xdefaults file: + + XShogi*boardSize: Medium + + The font used for button labels and comments can be changed in the + .Xdefaults file. You may want to choose a smaller font if you are + using the small pieces: + + XShogi*font: helvetica_oblique12 + + The font used for coordinates (when the showCoords option is True) + can be set similarly: + + XShogi*coordFont: helvetica_10 + + If you are using a grayscale monitor, try setting the colors to: + + XShogi*pieceColor: gray100 + XShogi*squareColor: gray60 + + + COMMAND BUTTONS AND KEYS + + +`Quit' + Quits xshogi. Q or q is a keyboard equivalent. + +`Reset' + Resets xshogi to the beginning of a shogi game. It also deselects + any game or position files. + +`Flip View' + inverts the view of the shogi board. + +`Hint' + displays a move hint from gnushogi. + +`Load Game' + plays a game from a record file. If no file is specified a popup + dialog asks for a filename. Game files are found in the directory + named by the SHOGIDIR environment variable. If this variable is + not declared then the current directory is used unless the file + name starts with a /. G or g is a keyboard equivalent. The game + file parser will accept almost any file that contains moves in + algebraic notation. If the first line begins with `#', it is + assumed to be a title and is displayed. Text enclosed in + parentheses or square brackets is assumed to be commentary and is + displayed in a pop-up window. Any other text in the file is + ignored. + +`Load Position' + sets up a position from a position file. If no file is specified a + popup dialog asks for a filename. Position files are found in the + directory named by the SHOGIDIR environment variable. If this + variable is not declared then the current directory is used unless + the file name starts with a /. Position files must be in the + format that the Save Position command writes. + +`Save Game' + saves a game to a record file. If no file is specified a popup + dialog asks for a filename. If the filename exists, the user is + asked whether the current game record is be appended to this file + or if the file should be replaced. Game files are saved in the + directory named by the SHOGIDIR environment variable. If this + variable is not declared then the current directory is used unless + the file name starts with a /. Game files are human-readable, and + can also be read back by the Load Game command. Furthermore, they + are accepted as gnushogi text bookfiles. + +`Save Position' + saves a position to a position file. If no file is specified a + popup dialog asks for a filename. Position files are saved in the + directory named by the SHOGIDIR environment variable. If this + variable is not declared then the current directory is used unless + the file name starts with a /. Position files are human-readable, + and can also be read back by the Load Position command. + +`Machine White' + forces gnushogi to play white. + +`Machine Black' + forces gnushogi to play black. + +`Force Moves' + forces a series of moves. That is, gnushogi stops playing and + xshogi allows you to make moves for both white and black. + +`Two Machines' + plays a game between two computer programs. + +`Forward' + moves forward through a series of remembered moves. F or f is a + keyboard equivalent. + +`Backward' + moves backward through a series of remembered moves. As a side + effect, puts xshogi into Force Moves mode. B or b is a keyboard + equivalent. + +`Pause' + pauses the clocks or (in Load Game mode) pauses the game being + loaded. Press Pause again to continue. P or p is a keyboard + equivalent. + +`Edit Position' + lets you set up an arbitrary board position. Use mouse button 1 + to drag pieces to new squares, or to delete a piece by dragging it + off the board or dragging an empty square on top of it. To drop a + new piece on a square, press mouse button 2 or 3 over the square. + This brings up a menu of black pieces (button 2) or white pieces + (button 3). Additional menu choices let you empty the square or + clear the board. You can set the side to play next by clicking on + the Black or White indicator at the top of the screen. + +`Challenge' + allows you to make a two display game between two human players. + Enter the display you want to connect to. If you are allowed to + connect, a new board is displayed at the remote display. + Challenge mode can only be stopped by pressing "quit". + +`Select Level' + allows you to reset the clocks for both players. Enter the number + of moves and the number of minutes in which the moves should be + done. + +`Move NOW' + force computer to stop thinking and to make the current best move. + +`Iconify I, i, C or c' + iconifies xshogi. + + + + LIMITATIONS + + + If you press the Pause button during GNU Shogi's turn, xshogi +will stop the clocks, but gnushogi will still make a move. + + After a mate or draw when playing against gnushogi, if you back up +with the Backward button, the clocks are reset (because gnushogi +has exited and must be restarted). + + The game parser recognizes only algebraic notation. + + + AUTHORS + + + Original authors of XBoard: Chris Sears and Dan Sears. + + Enhancements for XBoard (Version 2.0): Tim Mann. + + Conversion to XShogi (Version 1.1): Matthias Mutz. + + Current maintainer: Mike Vanier. + + + COPYRIGHT INFORMATION + + + XShogi borrows its piece bitmaps from CRANES Shogi. + + Copyright 1991 by Digital Equipment Corporation, Maynard, +Massachusetts. Enhancements Copyright 1992 Free Software Foundation, +Inc. Enhancements Copyright 1993 Matthias Mutz. Further enhancements +copyright 1999 by Michael Vanier and the Free Software Foundation, Inc. + + The following terms apply to Digital Equipment Corporation's +copyright interest in XBoard: + + All Rights Reserved + + Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. + + DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + The following terms apply to the enhanced version of XShogi +distributed by the Free Software Foundation: + + This file is part of XSHOGI. + + XSHOGI is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY. No author or distributor accepts responsibility to anyone +for the consequences of using it or for whether it serves any particular +purpose or works at all, unless he says so in writing. Refer to the +XSHOGI General Public License for full details. + + Everyone is granted permission to copy, modify and redistribute +XSHOGI, but only under the conditions described in the XSHOGI General +Public License. A copy of this license is supposed to have been given +to you along with XSHOGI so you can know your rights and +responsibilities. It should be in a file named COPYING. Among other +things, the copyright notice and this notice must be preserved on all +copies. + + +File: gnushogi.info, Node: References and links, Next: Acknowledgements, Prev: xshogi, Up: Top + +5 References and links +********************** + +There are very few English-language books for people learning shogi. +The two I recommend are: + + + 1. `Shogi for Beginners, 2nd. Edition', by John Fairbairn. This is a + superb beginner's book in every way, covering all phases of the + game. It was out of print for a long time, but has now been + reprinted and is available either from Kiseido + (`http://www.labnet.or.jp/~kiseido') or from George Hodges (see + below). + + 2. `The Art of Shogi', by Tony Hoskings. This is one step up from the + Fairbairn book. It covers a lot of ground, and is especially + noteworthy for its detailed treatment of opening lines. You can + order this book from Amazon.com's UK branch + (`http://www.amazon.co.uk'). + + + + Another book you may find is `Shogi: Japan's Game of Strategy' by +Trevor Leggett. This book is very elementary and is somewhat outdated, +having been published first in 1966. However, it does feature a paper +shogi board and punch-out pieces, so if you want a really cheap shogi +set you might pick this book up. It is still in print. + + Two books that are no longer in print but are definitely worth +getting if you find them are `Guide to Shogi Openings' and `Better +Moves for Better Shogi', both by Aono Teriuchi. They are published in a +bilingual edition (English/Japanese) and are the only books on shogi in +English written by a Japanese professional shogi player. John Fairbairn +did the translation from Japanese to English. + + Shogi sets are available from: + + + George F. Hodges + P.O. Box 77 + Bromley, Kent + United Kingdom BR1 2WT + + + George also sells equipment for all the historical shogi variants +(*note Shogi variants::) (except for Kyoku tai shogi) and also sells +back issues of the magazine "Shogi" which he published for 70 issues in +the late 70's to late 80's. This magazine is STRONGLY recommended; it +contains more information about shogi in English than you will ever +find anywhere else. + + Here are some useful URLs: + + +Pieter Stouten's shogi page: `http://www.shogi.net' + This is the main shogi-related site on the internet, with links to + almost all the other sites. + +Roger Hare's shogi page: `http://www.ed.ac.uk/~rjhare/shogi' + This has lots of information, including full rules to most of the + shogi variants. + +Patrick Davin's Shogi Nexus: `http://www.vega.or.jp/~patrick/shogi/' + There's lots of cool stuff on this site; my favorite is the + extensive collection of Tsume-shogi (mating) problems, both for + beginners and more advanced players. + +Steve Evans' shogi page: `http://www.netspace.net.au/~trout/index.html' + Steve has written a program that plays almost all of the shogi + variants, unfortunately it only runs on Windows :-( + +Hans Bodlaender's chess variant pages: `http://www.cs.ruu.nl/~hansb/d.chessvar' + This page has an almost unimaginable variety of rules for different + chess variants, including many shogi variants (historical and + non-historical). + + + + +File: gnushogi.info, Node: Acknowledgements, Next: Bugs, Prev: References and links, Up: Top + +6 Acknowledgements +****************** + +I would like to thank the following people: + + + * Matthias Mutz, who originally developed GNU shogi as a spin-off of + GNU chess and who very kindly let me take over the maintenance of + this very interesting project. + + * Richard Stallman and the Free Software Foundation, for creating an + organization where anyone can contribute software for the common + good of all, for making GNU/Linux possible, and especially for + writing emacs and gcc, without which my working life would be + intolerable. + + * Georges Hodges, for starting the Shogi Association in England, + without which I would probably never have heard of shogi, for + supplying shogi equipment, for publishing the excellent magazine + "Shogi" (now sadly defunct), for personally answering all my silly + questions by mail, and for being the ambassador of shogi to the + West. + + * Pieter Stouten, for having the most comprehensive shogi site on the + World Wide Web (`http://www.shogi.net'), and for maintaining the + shogi-l mailing list. Go to Pieter's web site for more + information on subscribing to the list. Also thanks to everyone + who contributes and has contributed to that list. + + * Matt Casters, for testing GNU shogi. Matt and I will be working + together on improving the solution engine in future versions of + this program. + + + + +File: gnushogi.info, Node: Bugs, Next: Index, Prev: Acknowledgements, Up: Top + +7 Bugs +****** + +The motto of GNU shogi is "100% bug-free or you don't pay!" :-) In the +extremely unlikely case (*ahem*) that you do find a bug, please send me +(Mike Vanier) an email at . Also, feel free to +send me comments, complaints, out-and-out raves, suggestions, plane +tickets to Hawaii, and/or large suitcases filled with unmarked, +untraceable hundred-dollar bills. + + +File: gnushogi.info, Node: Index, Prev: Bugs, Up: Top + +8 Index +******* + +[index] +* Menu: + +* Acknowledgements: Acknowledgements. (line 7) +* Books: References and links. (line 6) +* Chu Shogi: Shogi variants. (line 6) +* Dai Shogi: Shogi variants. (line 6) +* Dai-dai Shogi: Shogi variants. (line 6) +* Draws: Draws. (line 6) +* Drops: Drops. (line 6) +* gnushogi: gnushogi. (line 7) +* GPL: License. (line 6) +* Handicaps: Handicaps. (line 7) +* Introduction: Introduction. (line 6) +* Kyoku Tai Shogi: Shogi variants. (line 6) +* License: License. (line 6) +* Mailing lists: References and links. (line 6) +* Maka-dai-dai Shogi: Shogi variants. (line 6) +* Opening setup: The opening setup. (line 6) +* Piece moves: The moves of the pieces. + (line 6) +* Piece promotion: Promotion of pieces. (line 6) +* References: References and links. (line 6) +* Rules: The rules of shogi. (line 6) +* Sample game: Sample game. (line 7) +* Shogi variants: Shogi variants. (line 6) +* Shogi vs. Chess: Differences between shogi and chess. + (line 7) +* Tai Shogi: Shogi variants. (line 6) +* Tenjiku Shogi: Shogi variants. (line 6) +* Tori Shogi: Shogi variants. (line 6) +* Variants: Shogi variants. (line 6) +* Wa Shogi: Shogi variants. (line 6) +* Web sites: References and links. (line 6) +* Winning the game: Winning the game. (line 6) +* xshogi: xshogi. (line 7) + +  Tag Table: -(Indirect) -Node: Top926 -Node: Introduction1484 -Node: License2565 -Node: About shogi21724 -Node: The rules of shogi24319 -Node: The moves of the pieces25979 -Node: The opening setup29145 -Node: Promotion of pieces30677 -Node: Drops32518 -Node: Winning the game34770 -Node: Draws35484 -Node: Handicaps37889 -Node: Notes for chess players41315 -Node: Sample game42033 -Node: Mating problems49337 -Node: Shogi variants51585 -Node: Differences between shogi and chess55943 -Node: gnushogi60351 -Node: xshogi71829 -Node: References and links87937 -Node: Acknowledgements91081 -Node: Bugs92590 -Node: Index93073 +Node: Top1029 +Node: Introduction1587 +Node: License2670 +Node: About shogi21797 +Node: The rules of shogi24396 +Node: The moves of the pieces26062 +Node: The opening setup29237 +Node: Promotion of pieces30778 +Node: Drops32629 +Node: Winning the game34890 +Node: Draws35613 +Node: Handicaps38027 +Node: Notes for chess players41462 +Node: Sample game42189 +Node: Mating problems49498 +Node: Shogi variants51751 +Node: Differences between shogi and chess56113 +Node: gnushogi60526 +Node: xshogi72007 +Node: References and links88119 +Node: Acknowledgements91265 +Node: Bugs92775 +Node: Index93259  End Tag Table only in patch2: unchanged: --- gnushogi-1.3.2.orig/debian/watch +++ gnushogi-1.3.2/debian/watch @@ -0,0 +1,2 @@ +version=2 +http://ftp.gnu.org/pub/gnu/gnushogi/gnushogi-([0-9].*).tar.bz2 only in patch2: unchanged: --- gnushogi-1.3.2.orig/debian/patches/34-InputCommand-overflow.patch +++ gnushogi-1.3.2/debian/patches/34-InputCommand-overflow.patch @@ -0,0 +1,26 @@ +From 0a65b44bcb552f60a679822b665be693f78aa73d Mon Sep 17 00:00:00 2001 +From: Luis Felipe Strano Moraes +Date: Tue, 13 Mar 2012 17:58:00 -0300 +Subject: [PATCH] Fix buffer overflow, patch by Typone Alfredo + (alfredo@tupone.it). + +--- + gnushogi/commondsp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gnushogi/commondsp.c b/gnushogi/commondsp.c +index b5b59d7..af9df16 100644 +--- a/gnushogi/commondsp.c ++++ b/gnushogi/commondsp.c +@@ -1735,7 +1735,7 @@ InputCommand(char *command) + s[0] = sx[0] = '\0'; + + while(!sx[0]) +- (void)fgets(sx, 256, stdin); ++ (void)fgets(sx, 80, stdin); + } + else + { +-- +1.7.10 +