home *** CD-ROM | disk | FTP | other *** search
- From: ml@brumuc.muc.sub.org (Marc Laukien)
- Newsgroups: alt.sources
- Subject: UnixChess10/10
- Message-ID: <1991May20.003332.6824@brumuc.muc.sub.org>
- Date: 20 May 91 00:33:32 GMT
-
- Submitted-by: ml@brumuc.muc.sub.org
- Archive-name: UnixChess/part10
-
- ---- Cut Here and feed the following to sh ----
- #!/bin/sh
- # this is chess.10 (part 10 of UnixChess)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file op/op.ufimzew continued
- #
- if test ! -r _shar_seq_.tmp; then
- echo 'Please unpack part 1 first!'
- exit 1
- fi
- (read Scheck
- if test "$Scheck" != 10; then
- echo Please unpack part "$Scheck" next!
- exit 1
- else
- exit 0
- fi
- ) < _shar_seq_.tmp || exit 1
- if test ! -f _shar_wnt_.tmp; then
- echo 'x - still skipping op/op.ufimzew'
- else
- echo 'x - continuing file op/op.ufimzew'
- sed 's/^X//' << 'SHAR_EOF' >> 'op/op.ufimzew' &&
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- #
- SHAR_EOF
- echo 'File op/op.ufimzew is complete' &&
- chmod 0644 op/op.ufimzew ||
- echo 'restore of op/op.ufimzew failed'
- Wc_c="`wc -c < 'op/op.ufimzew'`"
- test 913 -eq "$Wc_c" ||
- echo 'op/op.ufimzew: original size 913, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= op/op.ungarische ==============
- if test -f 'op/op.ungarische' -a X"$1" != X"-c"; then
- echo 'x - skipping op/op.ungarische (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting op/op.ungarische (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'op/op.ungarische' &&
- # ---------------------------------------------------------------------
- #
- # Name: Chess V2.7
- # Schachprogramm
- #
- # Programmteil: Opening-Library
- # Ungarische Verteidigung
- #
- # Autor: Christoph Thommes
- #
- # ---------------------------------------------------------------------
- #
- # (Tarrasch-amateur,1898)
- # 9. .... f6d7 (?)
- We2e4e7e5g1f3b8c6f1c4f8e7d2d4e5d4f3d4d7d6e1g1g8f6b1c3e8g8h2h3f8e8f1e1f6d7c4f7g8f7d4e6f7e6d1d5e6f6d5f5
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- #
- SHAR_EOF
- chmod 0644 op/op.ungarische ||
- echo 'restore of op/op.ungarische failed'
- Wc_c="`wc -c < 'op/op.ungarische'`"
- test 626 -eq "$Wc_c" ||
- echo 'op/op.ungarische: original size 626, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= op/op.unregel ==============
- if test -f 'op/op.unregel' -a X"$1" != X"-c"; then
- echo 'x - skipping op/op.unregel (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting op/op.unregel (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'op/op.unregel' &&
- # ---------------------------------------------------------------------
- #
- # Name: Chess V2.7
- # Schachprogramm
- #
- # Programmteil: Opening-Library
- # Unregelmaessig
- #
- # Autor: Christoph Thommes
- #
- # ---------------------------------------------------------------------
- #
- # (Russakow-Werlinski,1947)
- # 7. e4e5 (?!)
- Be2e4e7e5c2c3b8c6d2d4g8f6c1g5h7h6g5h4g7g5h4g3e5d4e4e5d4c3e5f6c3b2d1e2d8e7f6e7f8g7
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- #
- SHAR_EOF
- chmod 0644 op/op.unregel ||
- echo 'restore of op/op.unregel failed'
- Wc_c="`wc -c < 'op/op.unregel'`"
- test 594 -eq "$Wc_c" ||
- echo 'op/op.unregel: original size 594, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= op/op.vierspring ==============
- if test -f 'op/op.vierspring' -a X"$1" != X"-c"; then
- echo 'x - skipping op/op.vierspring (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting op/op.vierspring (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'op/op.vierspring' &&
- # ---------------------------------------------------------------------
- #
- # Name: Chess V2.7
- # Schachprogramm
- #
- # Programmteil: Opening-Library
- # Vierspringerspiel
- #
- # Autor: Christoph Thommes
- #
- # ---------------------------------------------------------------------
- #
- # (unknown)
- WB e2e4e7e5g1f3g8f6b1c3b8c6f1b5f8b4e1g1e8g8d2d3d7d6c1g5b4c3b2c3d8e7
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Opecensky-Hrdina,1924)
- # 11. .... d8b6 (?!)
- We2e4e7e5g1f3b8c6b1c3g8f6f1b5f8b4e1g1e8g8d2d3d7d6c1g5c6e7f3h4c7c6b5c4e7g6h4g6h7g6f2f4d8b6g1h1f6g4d1e1g4e3f4f5e3c4f5f6c8g4e1h4g4h5g2g4c4e3g4h5e3f1h5h6
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (unknown)
- # 13. g5f6 (?!)
- Be2e4e7e5g1f3b8c6b1c3g8f6f1b5f8b4e1g1e8g8d2d3d7d6c1g5c8g4c3d5c6d4d5b4d4b5b4d5b5d4d1d2d4f3g2f3g4f3g5f6g7f6d2h6g8h8
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Herrmann-Rellstab,1932)
- # 9. e1f2 (?!)
- Be2e4e7e5g1f3b8c6b1c3g8f6f1b5c6d4f3e5d8e7f2f4d4b5c3b5d7d6e5f3e7e4e1f2f6g4f2g3e4g6f3h4g6h5b5c7e8d8h2h3g4f6c7a8h5h4g3h4f6e4d1g4f8e7g4g5e7g5f4g5h7h6g5g6f7g6h1f1g6g5h4h5e4g3
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (unknown)
- # 9. f4d5 (?)
- Be2e4e7e5g1f3b8c6b1c3g8f6f1b5c6d4b5a4f8c5f3e5e8g8e5d3c5b6d3f4d7d5f4d5f6d5c3d5d8h4e1g1c8g4d1e1d4f3g2f3g4f3
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (unknown)
- # 7. f3e5 (?)
- Be2e4e7e5g1f3b8c6b1c3g8f6f1b5c6d4b5a4f8c5e1g1e8g8f3e5d7d6e5c4c8g4d1e1d4f3g2f3g4f3d2d4d8c8c4e3c8h3d4c5f6g4
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Belitzmann-Rubinstein,1917)
- # 10. c3d5 (?)
- Be2e4e7e5g1f3b8c6b1c3g8f6f1b5c6d4b5c4f8c5f3e5d8e7e5d3d7d5c3d5e7e4d5e3c5d6e1g1b7b5c4b3c8b7d3e1e4h4g2g3h4h3c2c3h7h5c3d4h5h4d1e2h3h2g1h2h4g3h2g1h8h1
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- #
- SHAR_EOF
- chmod 0644 op/op.vierspring ||
- echo 'restore of op/op.vierspring failed'
- Wc_c="`wc -c < 'op/op.vierspring'`"
- test 2030 -eq "$Wc_c" ||
- echo 'op/op.vierspring: original size 2030, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= op/op.wiener ==============
- if test -f 'op/op.wiener' -a X"$1" != X"-c"; then
- echo 'x - skipping op/op.wiener (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting op/op.wiener (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'op/op.wiener' &&
- # ---------------------------------------------------------------------
- #
- # Name: Chess V2.7
- # Schachprogramm
- #
- # Programmteil: Opening-Library
- # Wiener Partie
- #
- # Autor: Christoph Thommes
- #
- # ---------------------------------------------------------------------
- #
- # Spielmann-Flamberg,1914)
- # 7. .... g4f3 (?!)
- We2e4e7e5b1c3g8f6f2f4d7d5f4e5f6e4g1f3c8g4d1e2e4c5d2d4g4f3e2f3d8h4g2g3h4d4c1e3d4e5e1c1c7c6c3d5c6d5d1d5e5e6f1c4e6e4e3c5
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (unknown)
- # 7. h5e5 (?)
- Be2e4e7e5b1c3g8f6f1c4f6e4c4f7e8f7c3e4d7d5d1h5g7g6h5e5f8h6
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Imbisch-Goering,1899)
- # 5. .... b8c6 (?) 6. .... f7g8 (?)
- We2e4e7e5b1c3g8f6f1c4f6e4c4f7e8f7c3e4b8c6d1f3f7g8e4g5
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Taubenhaus-Halpern,1887)
- # 10. .... c7c6 (?)
- We2e4e7e5b1c3b8c6f2f4e5f4d2d4d8h4e1e2d7d5e4d5c8g4g1f3g4f3g2f3h4e7e2d3c6b4d3c4c7c6f1h3c6d5c4b3b4c6h1e1c6d4d1d4e7e1d4a4b7b5a4b5e8e7b5d7e7f6c3d5f6e5c1f4e5d4d5c3d4c5c3a4
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Mieses-Tschigorin,1906)
- # 4. .... d8f6 (?!)
- We2e4e7e5b1c3b8c6f1c4f8c5d1g4d8f6c3d5f6f2e1d1e8f8g1h3f2d4d2d3d7d6g4h4c8h3h4h3c6a5h1f1a5c4h3d7f7f6d5f6d4f2f1f2c5f2f6h5
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # * ()
- We2e4e7e5b1c3b8c6f1c4f8c5d1g4d8f6c3d5f6f2e1d1e8f8g1h3f2d4d2d3d7d6g4f3c8h3h1f1
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- #
- SHAR_EOF
- chmod 0644 op/op.wiener ||
- echo 'restore of op/op.wiener failed'
- Wc_c="`wc -c < 'op/op.wiener'`"
- test 1690 -eq "$Wc_c" ||
- echo 'op/op.wiener: original size 1690, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= op/op.zweispring ==============
- if test -f 'op/op.zweispring' -a X"$1" != X"-c"; then
- echo 'x - skipping op/op.zweispring (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting op/op.zweispring (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'op/op.zweispring' &&
- # ---------------------------------------------------------------------
- #
- # Name: Chess V2.7
- # Schachprogramm
- #
- # Programmteil: Opening-Library
- # Zweispringerspiel
- #
- # Autor: Christoph Thommes
- #
- # ---------------------------------------------------------------------
- #
- # (unknown)
- WB e2e4e7e5g1f3b8c6f1c4g8f6f3g5d7d5e4d5c6a5c4b5c7c6d5c6b7c6b5e2h7h6g5f3e5e4
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Morphy-amateur,1858)
- # 5. .... f6d5 (?)
- We2e4e7e5g1f3b8c6f1c4g8f6f3g5d7d5e4d5f6d5d2d4e5d4e1g1f8e7g5f7e8f7d1f3f7e6b1c3d4c3f1e1c6e5c1f4e7f6f4e5f6e5e1e5e6e5a1e1e5d4c4d5h8e8f3d3d4c5b2b4c5b4d3d4
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Bibikow-Neistadt,1946)
- # 13. d2d4 (?)
- Be2e4e7e5g1f3b8c6f1c4g8f6f3g5d7d5e4d5c6a5c4b5c7c6d5c6b7c6b5e2h7h6g5f3e5e4f3e5f8d6f2f4e4f3e5f3d8c7d2d4f6g4b1c3d6h2f3h2c7g3e1d2a5c4e2c4g3e3
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Field-Tenner,1934)
- # 10. e1g1 (?)
- Be2e4e7e5g1f3b8c6f1c4g8f6f3g5d7d5e4d5c6a5d2d3h7h6g5f3e5e4d1e2a5c4d3c4f8c5e1g1e8g8f3d2c8g4e2e1d8d7d2b3g4f3c1f4d7g4f4g3f6h5b3c5h5f4c5e4g4h3
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Semenenko-Perfiljew,1947)
- # 6. c2c3 (?!)
- Be2e4e7e5g1f3b8c6f1c4g8f6f3g5d7d5e4d5c6d4c2c3b7b5c4f1f6d5g5f7e8f7c3d4e5d4d1f3d5f6f3a8f8c5f1b5h8e8e1f1c8a6a8c6d8e7g2g3a6b5c6b5e7e4b5c4f7g6f1g1e4f3c4f1d4d3
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Fischer-amateur,1964)
- # 13. d2d3 (?!)
- Be2e4e7e5g1f3b8c6f1c4g8f6f3g5d7d5e4d5c6d4c2c3b7b5c4f1f6d5c3d4d8g5f1b5e8d8d1f3e5e4f3e4f8d6e1g1c8b7d2d3d6h2g1h2d5f4
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Tylewitsch-Winkel,1960)
- # 14. c1d2 (?)
- Be2e4e7e5g1f3b8c6f1c4g8f6d2d4e5d4e1g1f6e4f1e1d7d5c4d5d8d5b1c3d5a5c3e4c8e6e4g5e8c8g5e6f7e6e1e6f8d6d1e2a5h5c1d2d4d3e2e4c6d4e6d6d4f3e4f3h5f3d6d8h8d8g2f3d3c2
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Arend-Dyckhoff,1934)
- # 9. e1e4 (?)
- Be2e4e7e5g1f3b8c6f1c4g8f6d2d4e5d4e1g1f6e4f1e1d7d5b1c3d4c3c4d5c8e6e1e4c6e7
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Sokolow-Rushnikow,1966)
- # 6. .... d8e7 (?!)
- We2e4e7e5g1f3b8c6f1c4g8f6d2d4e5d4e1g1f6e4b1c3d4c3c4f7e8f7d1d5f7e8f1e1f8e7e1e4d7d6c1g5c3b2a1e1h8f8g5e7c6e7d5h5e8d7f3d4c7c5h5g4d7c7e4e7d8e7e1e7c7d8g4g5h7h6e7b7h6g5d4c6d8e8b7e7
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (unknown)
- # 7. h2h3 (?)
- Be2e4e7e5g1f3b8c6f1c4g8f6d2d4e5d4e1g1f8c5e4e5f6g4h2h3g4e5f3e5c6e5f1e1d7d6f2f4d4d3g1h2d8h4f4e5d3c2e5d6c8e6e1e6f7e6d6d7e8e7d1c2c5d6h2g1h4e1c4f1h8f8
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Mueller-Bauer,1908)
- # 12. .... c6d4 (?)
- We2e4e7e5g1f3b8c6f1c4g8f6d2d4e5d4e1g1f8c5e4e5d7d5e5f6d5c4f1e1e8f8c1g5g7f6g5h6f8g8b1c3c5f8f3d4c6d4d1d4c8f5d4f4f5c2a1d1f8d6c3d5d6f4e1e8d8e8d5f6
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Kazic-Vukovic,1940)
- # 13. .... c6e5 (?)
- We2e4e7e5g1f3b8c6f1c4g8f6d2d4e5d4e1g1f8c5e4e5d7d5e5f6d5c4f1e1e8f8c1g5g7f6g5h6f8g8b1c3c8g4c3e4b7b6c2c3c6e5f3e5g4d1e5d7c5e7e4f6e7f6e1e8d8e8d7f6
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Saemisch-Reimann,1927)
- # 11. .... c5f8 (?!)
- We2e4e7e5g1f3b8c6f1c4g8f6d2d4e5d4e1g1f8c5e4e5d7d5e5f6d5c4f1e1c8e6f3g5d8d5b1c3d5f5c3e4c5f8g5f7e8f7e4g5f7g8g2g4f5f6e1e6f6d8d1f3d8d7e6e7
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Shahajew-Romanischin,1947)
- # 11. .... c5f8 (?!)
- We2e4e7e5g1f3b8c6f1c4g8f6d2d4e5d4e1g1f8c5e4e5d7d5e5f6d5c4f1e1c8e6f3g5d8d5b1c3d5f5c3e4c5f8g5f7e8f7e4g5f7g8g2g4f5d5g5e6c6e5f6f7g8f7e6g5f7g8e1e5d5e5d1f3
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (Tschigorin-Albin,1897)
- # 12. .... f5d5 (?)
- We2e4e7e5g1f3b8c6f1c4g8f6d2d4e5d4e1g1f8c5e4e5d7d5e5f6d5c4f1e1c8e6f3g5d8d5b1c3d5f5c3e4e8c8g2g4f5d5f6g7h8g8e4f6d5d6g5e4d6e5f2f4d4d3g1g2e5d4c2c3
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (unknown)
- # 7. .... f7g6 (?)
- We2e4e7e5g1f3b8c6f1c4g8f6b1c3f6e4c4f7e8f7c3e4d7d5f3g5f7g6d1f3d5e4f3f7g6g5d2d4g5h4h2h3g7g6g2g3h4h5g3g4h5h4f7b3f8b4e1f1c8g4h3g4h4g4b3h3
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- # (unknown)
- # 10. d2d3 (?)
- Be2e4e7e5g1f3b8c6f1c4g8f6b1c3f6e4c4f7e8f7c3e4d7d5f3g5f7g6d1f3d5e4f3f7g6g5d2d3g5h4g2g3h4h3f7h5h3g2c1g5f8b4c2c3d8d3
- # . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 0 .
- #
- SHAR_EOF
- chmod 0644 op/op.zweispring ||
- echo 'restore of op/op.zweispring failed'
- Wc_c="`wc -c < 'op/op.zweispring'`"
- test 4656 -eq "$Wc_c" ||
- echo 'op/op.zweispring: original size 4656, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= def.english ==============
- if test -f 'def.english' -a X"$1" != X"-c"; then
- echo 'x - skipping def.english (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting def.english (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'def.english' &&
- # ----------------------------------------------------------------------------
- # Definitionen fuer Chess - Englisch
- # (c) 1990 by M. Laukien
- # ----------------------------------------------------------------------------
- X
- # Menuedefinitionen: Der erste Buchstabe ist der Buchstabe, ueber den
- # die Funktion angewaehlt werden kann. Nicht benutzt werden duerfen
- # bei menu[] die Buchstaben a,b,c,d,e,f,g,h , da diese fuer die Zugeingabe
- # benoetigt werden. Zwischen Gross- und Kleinschrift wird nicht unter-
- # schieden. Die Reihenfolge der Menuepunkte darf nicht veraendert werden.
- X
- # amenue = Administrationsmenue
- # menue = Spielmenue
- # smenu = Setupmenue
- X
- amenu[0] "t[T] user vs. computer (training mode)"
- amenu[1] "s[S] display games"
- amenu[2] "d[D] delete games"
- X
- amenu[3] "1[1] white vs. computer (tournament mode)"
- amenu[4] "2[2] black vs. computer (tournament mode)"
- amenu[5] "3[3] white vs. other users (tournament mode)"
- amenu[6] "4[4] black vs. other users (tournament mode)"
- amenu[7] "5[5] show tournaments"
- amenu[8] "6[6] display highscore table"
- X
- amenu[9] "q[Q] quit"
- X
- smenu[0] "l[L] load game" # Laden
- smenu[1] "s[S] save game" # Speichern
- smenu[2] "-[-] clear" # Loeschen
- smenu[3] "=[=] next move: " # Seitenwechsel
- smenu[4] "q[Q] quit" # Ende
- X
- menu[0] "1[1] level : " # Spielstufe
- menu[1] "2[2] white : " # Weiss einstellen
- menu[2] "3[3] black : " # Schwarz einstellen
- menu[3] "m[M] monitor : " # Monitor
- menu[4] "![!] setup game" # Aufbauen
- menu[5] "t[T] take back move" # Zurueck
- menu[6] "i[I] info" # Informationen
- menu[7] "r[R] restart" # Neues Spiel
- menu[8] "q[Q] quit" # Ende
- menu[9] " [ESC] break" # UnterbrechenXp
- X
- # infostrings: Die Reihenfolge der infopunkte darf nicht veraendert werden.
- X
- info[0] "whos move ? : " # Farbe, die am Zug ist
- info[1] "number of moves : " # Anzahl der Zuege
- info[2] "value : " # Bewertung des Spiels
- info[3] "number of variants : " # Varianten im letzten Zug
- info[4] "var. / sec. : " # Varianten pro Sekunde
- info[5] "average : " # dito durchschnittlich
- info[6] "level : " # Spielstufe
- info[7] "min. calc. depth : " # Minimale Rechentiefe
- info[8] "max. calc. depth : " # Maximale Rechentiefe
- info[9] "last move : " # letzter Zug
- X
- # Statusinformationen:
- X
- thinking "thinking ..." # Computer denkt
- is_thinking "is thinking ..." # Gegner denkt
- patt "the game is a draw !" # Spiel ist Patt
- w_mate "check mate white !" # Weiss ist matt
- b_mate "check mate black !" # Schwarz ist matt
- w_chess "white is in check !" # Weiss ist im Schach
- b_chess "black is in check !" # Schwarz ist im Schach
- remis_3 "3 reps. -> remis !" # Remis bei 3-facher Wdh.
- w_up "white gives up !" # Aufgabe Weiss
- b_up "black gives up !" # Aufgabe Schwarz
- X
- # Startkommando: Wird vor Programmstart ausgefuehert. Falls nicht benoetigt,
- # auf "" setzen.
- X
- startcmd ""
- X
- # Sicherheitsabfrage: Die ersten beiden Buchstaben sollen Abkuerzungen
- # fuer "ja" und "nein" sein.
- X
- sure "ynAre you sure ? (y/n)"
- give_up "ynYou've had it man! Wanna quit ? (y/n)"
- X
- # Spielstufen fuer Uebungsspiel und Turnierspiel
- X
- tr_lv "3" # Trainingslevel
- to_lv "5" # Turnierlevel
- X
- # Diverese Strings:
- X
- tlist " white: black: moves: whos move ? "
- X # ^ ^ ^ ^
- X # Ueberschrift fuer Spielliste Turnier
- X
- ulist " player: name: moves: whos move ? "
- X # ^ ^ ^ ^
- X # Ueberschrift fuer Spielliste Training
- X
- scorelist" player: games: vs. comp.: score: "
- X # ^ ^ ^ ^
- X # Ueberschrift fuer Spielliste Training
- X
- figtab "pnbrqkPNBRQK " # Figurentabelle
- press_key "<press any key>" # Taste duecken
- comp "computer" # Name des Computers
- white "white" # Weiss
- black "black" # Schwarz
- domove "move: " # Zug ausfuehren
- doset "set: " # Figur setzen
- enter "enter filename: " # Name eingeben
- opponent "enter opponent: " # Gegner eingeben
- figlist "lost pieces:" # Liste der geschlagenen Figuren
- error "error: " # Fehlermeldung
- not_allowed "Whoops! Not possible now." # Nicht erlaubt
- no_user "no such user !" # Kein User
- ison "yes" # Ein
- isoff "no" # Aus
- load_lib "loading the opening-library ..." # Lib. laden
- X
- SHAR_EOF
- chmod 0644 def.english ||
- echo 'restore of def.english failed'
- Wc_c="`wc -c < 'def.english'`"
- test 4548 -eq "$Wc_c" ||
- echo 'def.english: original size 4548, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= def.german ==============
- if test -f 'def.german' -a X"$1" != X"-c"; then
- echo 'x - skipping def.german (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting def.german (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'def.german' &&
- # ----------------------------------------------------------------------------
- # Standard Definitionen fuer Chess - Deutsch
- # (c) 1990 by M. Laukien
- # ----------------------------------------------------------------------------
- X
- # menuedefinitionen: Der erste Buchstabe ist der Buchstabe, ueber den
- # die Funktion angewaehlt werden kann. Nicht benutzt werden duerfen
- # bei menu[] die Buchstaben a,b,c,d,e,f,g,h , da diese fuer die Zugeingabe
- # benoetigt werden. Zwischen Gross- und Kleinschrift wird nicht unter-
- # schieden. Die Reihenfolge der Menuepunkte darf nicht veraendert werden.
- X
- # amenue = Administrationsmenue
- # menue = Spielmenue
- # smenu = Setupmenue
- X
- amenu[0] "t[T] Trainingsspiel gegen Computer"
- amenu[1] "z[Z] Zeige Trainingsspiele"
- amenu[2] "l[L] Loesche Trainingsspiele"
- X
- amenu[3] "1[1] Turnierspiel mit Weiss gegen Computer"
- amenu[4] "2[2] Turnierspiel mit Schwarz gegen Computer"
- amenu[5] "3[3] Turnierspiel mit Weiss gegen anderen Spieler"
- amenu[6] "4[4] Turnierspiel mit Schwarz gegen anderen Spieler"
- amenu[7] "5[5] Zeige Turnierspiele"
- amenu[8] "6[6] Zeige Highscore-Liste"
- X
- amenu[9] "x[X] Ende"
- X
- smenu[0] "l[L] Laden" # Laden
- smenu[1] "s[S] Speichern" # Speichern
- smenu[2] "-[-] Loeschen" # Loeschen
- smenu[3] "=[=] Am Zug: " # Seitenwechsel
- smenu[4] "x[X] Ende" # Ende
- X
- menu[0] "l[L] Level : " # Spielstufe
- menu[1] "w[W] Weiss : " # Weiss einstellen
- menu[2] "s[S] Schwarz : " # Schwarz einstellen
- menu[3] "m[M] Monitor : " # Monitor
- menu[4] "![!] Aufbauen" # Speichern
- menu[5] "z[Z] Zurueck" # Zurueck
- menu[6] "i[I] Info" # Informationen
- menu[7] "n[N] Neustart" # Neues Spiel
- menu[8] "x[X] Ende" # Ende
- menu[9] " [ESC] Unterbrechen" # Unterbrechen
- X
- # Infostrings: Die Reihenfolge der Infopunkte darf nicht veraendert werden.
- X
- info[0] "Am Zug : " # Farbe, die am Zug ist
- info[1] "Anzahl der Zuege : " # Anzahl der Zuege
- info[2] "Bewertung : " # Bewertung des Spiels
- info[3] "Varianten : " # Varianten im letzten Zug
- info[4] "Var. pro Sek. : " # Varianten pro Sekunde
- info[5] "Durchschnitt : " # dito durchschnittlich
- info[6] "Stufe : " # Spielstufe
- info[7] "Rechentiefe min. : " # Minimale Rechentiefe
- info[8] "Rechentiefe max. : " # Maximale Rechentiefe
- info[9] "Letzter Zug : " # letzter Zug
- X
- # Statusinformationen:
- X
- thinking "Ich ueberlege ..." # Computer denkt
- is_thinking "ueberlegt ..." # Gegner denkt
- patt "Das Spiel ist patt !" # Spiel ist Patt
- w_mate "Weiss ist matt !" # Weiss ist matt
- b_mate "Schwarz ist matt !" # Schwarz ist matt
- w_chess "Weiss ist im Schach !" # Weiss ist im Schach
- b_chess "Schwarz ist im Schach !" # Schwarz ist im Schach
- remis_3 "3 * wiederholt -> Remis" # Remis bei 3-facher Wdh.
- w_up "Weiss gibt auf !" # Aufgabe Weiss
- b_up "Schwarz gibt auf !" # Aufgabe Schwarz
- X
- # Startkommando: Wird vor Programmstart ausgefuehert. Falls nicht benoetigt,
- # auf "" setzen.
- X
- startcmd ""
- X
- # Sicherheitsabfrage: Die ersten beiden Buchstaben sollen Abkuerzungen
- # fuer "ja" und "nein" sein.
- X
- sure "jnSind Sie sicher ? (J/N)"
- give_up "jnWirklich aufgeben ? (J/N)"
- X
- # Spielstufen fuer Uebungsspiel und Turnierspiel
- X
- tr_lv "3" # Trainingslevel
- to_lv "5" # Turnierlevel
- X
- # Diverese Strings:
- X
- tlist " Weiss: Schwarz: Zuege: Am Zug: "
- X # ^ ^ ^ ^
- X # Ueberschrift fuer Spielliste Turnier
- X
- ulist " Spieler: Spielname: Zuege: Am Zug: "
- X # ^ ^ ^ ^
- X # Ueberschrift fuer Spielliste Training
- X
- scorelist" Spieler: Spiele: Gegen Comp.: Punkte: "
- X # ^ ^ ^ ^
- X # Ueberschrift fuer Spielliste Training
- X
- figtab "bsltdkBSLTDK " # Figurentabelle
- press_key "<Taste>" # Taste duecken
- comp "Rechner" # Name des Computers
- white "Weiss" # Weiss
- black "Schwarz" # Schwarz
- domove "Zug: " # Zug ausfuehren
- doset "Setze: " # Figur setzen
- enter "Namen eingeben: " # Name eingeben
- opponent "Gegner eingeben: " # Gegner eingeben
- figlist "Geschlagene Figuren:" # Liste der geschlagenen Figuren
- error "Fehler: " # Fehlermeldung
- not_allowed "Das ist jetzt nicht erlaubt !" # Nicht erlaubt
- no_user "Dieser User existiert nicht !" # Kein User
- ison "ja" # Ein
- isoff "nein" # Aus
- load_lib "Ich lade die Eroeffnungsbibliothek ..." # Lib. laden
- SHAR_EOF
- chmod 0644 def.german ||
- echo 'restore of def.german failed'
- Wc_c="`wc -c < 'def.german'`"
- test 4581 -eq "$Wc_c" ||
- echo 'def.german: original size 4581, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= man ==============
- if test -f 'man' -a X"$1" != X"-c"; then
- echo 'x - skipping man (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting man (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'man' &&
- .pl 72
- .AT 3
- .TH xxxNAME xxxMANUAL
- .ad
- .SH NAME
- xxxNAME V2.7 \- Multiuserschachprogramm
- .SH SYNTAX
- .B xxxNAME
- [
- .B \-d sprache
- ]
- [
- .B \-t
- ]
- [
- .B \-e
- ]
- .SH ALLGEMEINES
- .I xxxNAME
- bietet folgende Moeglichkeiten:
- .PP
- o Turnier- und Trainingsmodus
- .br
- o Spiel gegen Computer
- .br
- o Spiel gegen anderen Benutzer gleichzeitig
- .br
- X oder zeitversetzt
- .br
- o Anzeige aller im Moment gespielten Partien
- .br
- o Highscoreliste
- .br
- o Variable Spielstaerke
- .br
- o Demomodus, d.h. Computer spielt gegen sich selbst
- .br
- o Setup, d.h. es koennen beliebige Spielsituationen
- .br
- X aufgebaut werden.
- .br
- o Kontrollmodus, d.h. Computer kontrolliert nur die Zuege
- .br
- o Ruecknahme von beliebig vielen Zuegen
- .br
- o Grosse Eroeffnungs- und Eroeffnungsfehlerbibliothek
- X
- .SH BEDIENUNG
- Das Programm ist vollstaendig menuegefuehrt. Die Menuepunkte sind
- selbsterklaerend, und koennen durch den dazugehoerigen Buchstaben
- aufgerufen werden. Texteingaben werden in einem eigenem Fenster vorgenommen
- und durch <ENTER> abgeschlossen. Fehlermeldungen und Sicherheitsabfragen
- werden ebenfalls in einem eigenem Fenster angezeigt.
- .PP
- Mit CTRL-L kann der Bildschirm neu aufgebaut werden, falls dieser z.B. durch
- Stoerungen in der Telefonleitung (wenn ueber ein Modem gespielt wird)
- unlesbar ist.
- X
- .SH HAUPTMENUE
- X
- amenu[0]
- .br
- Hier wird direkt in das Schachmenue verzweigt, bei dem dann alle Menuepunkte
- erlaubt sind. Das Spiel laeuft gegen den Computer. Es findet allerdings
- kein Eintrag in die Highscoreliste statt.
- .PP
- amenu[1]
- .br
- Es werden alle persoenlichen Trainingsspiele angezeigt, dazu auch welche
- Farbe am Zug ist.
- .PP
- amenu[2]
- .br
- Der Name eines Trainingsspiels wird eingegeben, und anschliessend wird
- dieses Trainingsspiel geloescht.
- .PP
- amenu[3]
- .br
- amenu[4]
- .br
- Bei diesen Menuepunkten wird direkt in das Schachmenue verzweigt,
- bei dem allerdings nicht alle Menuepunkte erlaubt sind.
- Das Spiel laeuft gegen den Computer.
- Ein Eintrag in die Highscoreliste findet nach Beendigung des Spieles
- statt.
- .PP
- amenu[5]
- .br
- amenu[6]
- .br
- Auch hier wird direkt in das Schachmenue verzweigt,
- es sind wieder nicht alle Menuepunkte erlaubt.
- Das Spiel laeuft gegen einen anderen User, dessen Name
- abgefragt wird. Der Gegner kann entweder gleichzeitig spielen,
- oder zeitversetzt.
- Ein Eintrag in die Highscoreliste findet nach Beendigung des Spieles
- statt.
- .PP
- amenu[7]
- .br
- Es werden alle Turnierspiele ausgegeben, auch die von anderen Spielern.
- Zusaetzlich wird die Farbe des am Zug befindlichen angegeben.
- .PP
- amenu[8]
- .br
- Die Highscoreliste wird ausgegeben. Siehe hierzu auch 'HIGHSCORE'.
- .PP
- amenu[9]
- .br
- Dieser Punkt dient dem Verlassen des Programms.
- X
- .SH SCHACHMENUE
- X
- Im Schachmenue werden Zuege einfach durch das Ursprungsfeld und das
- Zielfeld angegeben, also z.B. e2-e4. Korrigiert werden kann mit der
- Backspace-Taste.
- .br
- .sp
- Ausserdem gibt es folgende Menuepunkte:
- .br
- .sp
- menu[0]
- .br
- Mit diesem Menuepunkt kann die Spielstaerke des Rechners eingestellt werden.
- (Nicht moeglich bei Turnierspielen)
- .PP
- menu[1]
- .br
- menu[2]
- .br
- Hier wird eingestellt, fuer welche Farbe der Rechner spielt. Es sind alle
- Kombinationen moeglich, auch dass der Rechner fuer beide Farben spielt (DEMO),
- oder dass der Rechner fuer keine Farbe spielt (nur Zugueberwachung).
- (Nicht moeglich bei Turnierspielen)
- .PP
- menu[3]
- .br
- Die Monitorfunktion kann an- und ausgeschaltet werden. Ist sie
- eingeschaltet, so wird in der untersten Zeile die im Moment beste
- bisher gefundene Variante angezeigt.
- .PP
- menu[4]
- .br
- Hier kommt man in das Setup-Menue. Von dort aus kann man dann auch Partien
- laden und speichern.
- (Nicht moeglich bei Turnierspielen)
- .PP
- menu[5]
- .br
- Dieser Menuepunkt dient der Ruecknahme eines Zuges. Es koennen beliebig
- viele Zuege zurueckgenommen werden.
- (Nicht moeglich bei Turnierspielen)
- .PP
- menu[6]
- .br
- Es werden einige Informationen zum Spiel ausgegeben. Siehe hierzu 'INFO'.
- .PP
- menu[7]
- .br
- Falls es sich um ein Trainingsspiel handelt, wird ein neues Spiel gestartet.
- .br
- Bei Turnierspielen entspricht dieser Menuepunkt der Aufgabe
- des Spiels, welches beendet wird. Anschliessend erfolgt ein Eintrag in
- die Highscoreliste.
- .PP
- menu[8]
- .br
- Nach einer Sicherheitsabfrage kommt man wieder ins Hauptmenue.
- .PP
- menu[9]
- .br
- Mittels der ESC-Taste kann die Berechnung eines Zuges jederzeit abgebrochen
- werden. Es wird dann der bis dahin beste Zug genommen.
- (Nicht moeglich bei Turnierspielen)
- X
- X
- .SH SETUP-MENUE
- X
- Im Setup-Menue kann auf jedes Feld eine beliebige Figur gesetzt werden.
- Dazu wird einfach zuerst das Feld angegeben, und dann die Figur, die
- auf das Feld gesetzt werden soll, z.B. e4-D setzt eine schwarze Dame
- auf das Feld e4.
- .br
- .sp
- Es gibt hier ausserdem folgende Moeglichkeiten:
- .br
- .sp
- smenu[0]
- .br
- smenu[1]
- .br
- Diese beiden Punkte dienen dem Laden und Speichern von Partien.
- .PP
- smenu[2]
- .br
- Hiermit wird das ganze Spielbrett geloescht.
- .PP
- smenu[3]
- .br
- Hier kann man auswaehlen, ob Weiss oder Schwarz am Zug sein soll.
- .PP
- smenu[4]
- .br
- Mit diesem Menuepunkt kommt man wieder zurueck ins Schachmenue.
- X
- .SH INFO
- X
- info[0]
- .br
- Hier wird angegeben, welche Farbe im Moment am Zug ist.
- .PP
- info[1]
- .br
- Hier wird die Anzahl der gespielten Zuege angegeben.
- .PP
- info[2]
- .br
- Hier wird eine Bewertung der Stellung vom Computer vorgenommen. Ein
- positiver Wert bedeutet, dass die Stellung fuer Weiss besser ist,
- ein negativer Wert bedeutet, dass die Stellung fuer Schwarz besser ist.
- .PP
- info[3]
- .br
- Hier wird die Anzahl der Varianten angegeben, die zur Ermittlung des
- letzten Zuges noetig waren.
- .PP
- info[4]
- .br
- Hier wird die Anzahl der pro Sekunde berechneten Varianten des letzten
- Zuges angegeben.
- .PP
- info[5]
- .br
- Hier wird der Durchschnitt der Anzahl der pro Sekunde berechneten Varianten
- von allen bisherigen Zuegen angegeben. Dies kann als ein Mass fuer die
- Geschwindigkeit des Rechners dienen.
- .PP
- info[6]
- .br
- Hier wird die aktuelle Spielstufe (Level) angezeigt.
- .PP
- info[7]
- .br
- Hier wird die minimale Rechentiefe angegeben, in Halbzuegen gemessen.
- .PP
- info[8]
- .br
- Hier wird die maximale Rechentiefe angegeben, in Halbzuegen gemessen.
- .PP
- info[9]
- .br
- Hier wird der letzte gespielte Zug angezeigt.
- X
- .SH SCHACHREGELN
- .I xxxNAME
- beherrscht neben den 'normalen' Regeln folgende Sonderregeln:
- .PP
- o Rochade (Um sie auszufuehren, muss der Zug des Koenigs
- .br
- X angegeben werden, z.B. 'kurze' Rochade Weiss: e1-g1)
- .br
- o Schlagen en passant
- .br
- o Remis bei dreifacher Wiederholung einer Stellung
- .br
- o 'Patt' des Koenigs
- .PP
- Folgende Regeln sind noch nicht implementiert:
- .PP
- o Umwandlung eines Bauern in eine andere Figur als
- .br
- X eine Dame
- .br
- o 50-Zuege-Regel
- X
- .SH HIGHSCORE
- .I xxxNAME
- berechnet die Highscoreliste folgendermassen: Am Anfang hat jeder Spieler
- 1000 Punkte. Fuer jedes gewonnene Spiel
- erhaelt der Gewinner 1/4 der Punkte des Verlierers, und der Verlierer
- bekommt dementsprechend 1/4 seiner Punkte abgezogen. Es lohnt sich also
- immer gegen einen staerkeren Spieler anzutreten, da man hier die meisten
- Punkte gewinnen kann.
- X
- .SH SPRACHE
- .I xxxNAME
- kann in jede beliebige Sprache uebersetzt werden. Dazu muss nur eine
- Datei mit dem Namen
- .I def.sprache
- erzeugt werden. Am besten kopiert man eine existierende Datei, z.B.
- .I def.german
- und uebersetzt diese dann in die gewuenschte Sprache. Das Programm wird
- dann mit
- .I xxxNAME \-d sprache
- aufgerufen.
- X
- .SH EROEFFNUNGSTEST
- Mit der Option \-t kann man die Eroeffnungsbibliothek auf Fehler pruefen.
- .I xxxNAME
- gibt dann eine Liste (Datei "error.op") mit allen Fehlern in der Bibliothek
- aus, und zwar mit Eroeffnungsnummer und Zugnummer. Dieser Test kann
- unter Umstaenden laengere Zeit benoetigen.
- X
- .SH EXPIRE
- .I xxxNAME
- mit der Option \-e loescht alle Turnierspiele, bei denen der letzte Zug
- mehr als xxxEXPIRE Tage zurueckliegt. Falls schon mehr als xxxMOVES
- Halbzuege gespielt wurden, wird die Partie fuer denjenigen als verloren
- eingetragen, der am Zug ist. Die Spieler werden dann mit einer mail
- benachrichtigt.
- SHAR_EOF
- chmod 0644 man ||
- echo 'restore of man failed'
- Wc_c="`wc -c < 'man'`"
- test 7830 -eq "$Wc_c" ||
- echo 'man: original size 7830, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= Makefile ==============
- if test -f 'Makefile' -a X"$1" != X"-c"; then
- echo 'x - skipping Makefile (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting Makefile (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'Makefile' &&
- # ---------------------------------------------------------------------
- #
- # Name: UnixChess V2.7
- # Schachprogramm
- #
- # Programmteil: Makefile
- #
- # Autor: Marc Laukien
- #
- # ---------------------------------------------------------------------
- X
- # ----------------- Ab hier Eintragungen vornehmen --------------------
- # ----------------- Make the necessary changes --------------------
- X
- # Name des Schachprogramms:
- # Name of the chessprogram:
- NAME = chess
- X
- # Standardsprache, falls '-d sprache' weggelassen wird:
- # Default language, if invoked without '-d language':
- LANG = english
- #LANG = german
- X
- # Aus welchem def.* die Menues ins Manual uebernommen werden:
- # Defines from what def.* file the menunames will be included in the manual:
- MANLANG = english
- #MANLANG = german
- X
- # Anzahl der Tage fuer expire:
- # Number of days for the expire:
- EXPIRE = 14
- # Anzahl der Halbzuege, bei denen expire noch nicht in
- # die Highscoreliste eintraegt:
- # Number of moves, with which the expire won't create an entry in
- # the highscoretable:
- MOVES = 4
- X
- # ----------------- Pfade ----------------------------------------------
- # ----------------- Paths ----------------------------------------------
- X
- # Directorys, in denen installiert wird:
- # Installation directorys:
- LIBDIR = /usr/games/lib/Chess
- BINDIR = /usr/games
- X
- # Kapitel/Directory in dem das Manual installiert wird:
- # Chapter/Directory in which the manual will be installed:
- MANUAL = LOCAL
- MANDIR = /usr/man/man.LOCAL
- CATDIR = /usr/man/cat.LOCAL
- X
- # Mailer fuer den expire
- # Mailer for expire
- MAIL = /bin/mail
- X
- # ----------------- Angaben zum System --------------------------------
- # ----------------- System informations --------------------------------
- X
- # Shared Library:
- #LIBSH =
- LIBSH = -lc_s
- X
- # Curses library
- FLAGS = -O
- LIB = -lcurses
- X
- # Filemode, falls unter SUID installiert werden soll:
- # Filemode, if you like to install with SUID:
- MODE1 = 4711
- MODE2 = 600
- MODE3 = 700
- X
- # Filemode, falls unter SGID installiert werden soll:
- # Filemode, if you like to install with SGID:
- #MODE1 = 2771
- #MODE2 = 660
- #MODE3 = 770
- X
- # Shar:
- SHAR = shar -n UnixChess -o $(NAME) -L 50 -a -c -s ml@brumuc.muc.sub.org
- X
- # ----------------- Keine Aenderung ab hier !!! ------------------------
- # ----------------- Don't touch the rest !!! ------------------------
- X
- CFLAGS = $(FLAGS) -DMAIL=\"$(MAIL)\" \
- X -DEXPIRE=$(EXPIRE) -DMOVES=$(MOVES) -DLANG=\"$(LANG)\"
- X
- ALLSRCS1 = ch/value.c ch/main.c ch/move.c ch/comp.c \
- X ch/utility.c ch/threat.c ch/init.c ch/list.c \
- X ch/archiv.c ch/open.c ch/stat.c
- X
- ALLSRCS2 = ad/main.c ad/init.c ad/utility.c ad/monitor.c \
- X ad/window.c ad/move.c ad/interrupt.c ad/load.c \
- X ad/menu.c ad/lock.c ad/admin.c ad/screen.c ad/id.c \
- X ad/score.c ad/training.c ad/tour_user.c \
- X ad/tour_comp.c ad/expire.c ad/setup.c
- X
- ALLSRCS3 = br/break.c
- X
- ALLSRCS = $(ALLSRCS1) $(ALLSRCS2) $(ALLSRCS3)
- X
- ALLHDRS = ad/ad.h ch/ch.h ch/ph.h ad/patchlevel.h
- X
- # don't delete the next line !
- # op start
- ALLOP = op/op.albinsgegam op/op.aljechin op/op.b2b4 op/op.benoni \
- X op/op.bird op/op.budapestgam op/op.caro-kann op/op.damenbaspie \
- X op/op.damengam op/op.damenind op/op.dreispring op/op.englisch \
- X op/op.evansgam op/op.franz op/op.gruenfeld op/op.holland \
- X op/op.indisch op/op.italienisch op/op.katalanisch op/op.koenigsgam \
- X op/op.koenigsind op/op.laeufer op/op.nimzowitsch op/op.nordgam \
- X op/op.philidor op/op.ponziani op/op.reti op/op.russisch \
- X op/op.schottisch op/op.sizilian op/op.skandinav op/op.spanisch \
- X op/op.ufimzew op/op.ungarische op/op.unregel op/op.vierspring \
- X op/op.wiener op/op.zweispring
- # op end
- # don't delete the previous line !
- X
- ALLDEF = def.english def.german
- X
- ALLARCH = README.eng README.ger $(ALLSRCS) $(ALLHDRS) ad/lex.l \
- X ad/patchlevel.h $(ALLOP) $(ALLDEF) man Makefile
- X
- ALLOBJ1 = ch/value.o ch/main.o ch/move.o ch/comp.o \
- X ch/utility.o ch/threat.o ch/init.o ch/list.o \
- X ch/archiv.o ch/open.o ch/stat.o
- X
- ALLOBJ2 = ad/init.o ad/utility.o ad/monitor.o ad/window.o \
- X ad/move.o ad/interrupt.o ad/load.o ad/menu.o ad/lock.o \
- X ad/admin.o ad/screen.o ad/id.o ad/score.o \
- X ad/training.o ad/tour_user.o ad/tour_comp.o \
- X ad/expire.o ad/lex.o ad/setup.o
- X
- ALLOBJ3 = br/break.o
- X
- all: $(NAME) chbrk chess.op
- X
- $(NAME): $(ALLOBJ1) $(ALLOBJ2) ad/main.o
- X -mkdir save
- X -mkdir training
- X touch score.list
- X
- X $(CC) $(CFLAGS) -o $(NAME) \
- X $(ALLOBJ1) $(ALLOBJ2) ad/main.o $(LIB) -ll -lm $(LIBSH)
- X chmod $(MODE1) $(NAME)
- X
- chbrk: $(ALLOBJ3)
- X $(CC) $(CFLAGS) -o chbrk $(LIBSH) \
- X $(ALLOBJ3)
- X chmod $(MODE1) chbrk
- X
- chess.op: $(ALLOP) Makefile
- X cat $(ALLOP) | grep -v "^#" > chess.op
- X chmod $(MODE2) chess.op
- X
- lint.out: $(ALLSRCS1) $(ALLSRCS2)
- X lint $(ALLSRCS1) > lint.out
- X lint $(ALLSRCS2) >> lint.out
- X
- man.$(MANUAL): man Makefile def.$(MANLANG)
- X egrep '^amenu\[|^smenu\[|^menu\[' def.$(MANLANG) |\
- X sed \
- X -e 's/\//\\\//g' \
- X -e 's/^/s\//g' \
- X -e 's/\"[^"]*$$/\/g/g' \
- X -e 's/[ ]*\"./\//g' \
- X -e 's/\[/\\[/g' \
- X -e 's/\]/\\]/g' \
- X > man.tmp
- X
- X egrep '^info\[' def.$(MANLANG) |\
- X sed \
- X -e 's/\//\\\//g' \
- X -e 's/^/s\//g' \
- X -e 's/\"[^"]*$$/\/g/g' \
- X -e 's/[ ]*\"/\//g' \
- X -e 's/\[/\\[/g' \
- X -e 's/\]/\\]/g' \
- X >> man.tmp
- X
- X echo "s/xxxNAME/$(NAME)/g" >> man.tmp
- X echo "s/xxxMANUAL/$(MANUAL)/g" >> man.tmp
- X echo "s/xxxEXPIRE/$(EXPIRE)/g" >> man.tmp
- X echo "s/xxxMOVES/$(MOVES)/g" >> man.tmp
- X
- X sed -f man.tmp man > man.$(MANUAL)
- X rm -f man.tmp
- X
- cat.$(MANUAL): man.$(MANUAL)
- X nroff -man man.$(MANUAL) > cat.$(MANUAL)
- X
- install_man: man.$(MANUAL)
- X cp man.$(MANUAL) $(MANDIR)/$(NAME).$(MANUAL)
- X chmod 644 $(MANDIR)/$(NAME).$(MANUAL)
- X
- install_cat: cat.$(MANUAL)
- X cp cat.$(MANUAL) $(CATDIR)/$(NAME).$(MANUAL)
- X chmod 644 $(CATDIR)/$(NAME).$(MANUAL)
- X
- install: all ad/main2.o
- X -mkdir $(BINDIR)
- X -mkdir $(LIBDIR)
- X chmod $(MODE3) $(LIBDIR)
- X -mkdir $(LIBDIR)/save
- X chmod $(MODE3) $(LIBDIR)/save
- X -mkdir $(LIBDIR)/training
- X chmod $(MODE3) $(LIBDIR)/training
- X
- X $(CC) $(CFLAGS) -o $(BINDIR)/$(NAME) \
- X $(ALLOBJ1) $(ALLOBJ2) ad/main2.o $(LIB) -ll -lm $(LIBSH)
- X chmod $(MODE1) $(BINDIR)/$(NAME)
- X
- X cp chbrk $(LIBDIR)
- X chmod $(MODE1) $(LIBDIR)/chbrk
- X
- X cp def.* $(LIBDIR)
- X cp chess.op $(LIBDIR)
- X chmod $(MODE2) $(LIBDIR)/def.* $(LIBDIR)/chess.op
- X
- X touch $(LIBDIR)/score.list
- X chmod $(MODE2) $(LIBDIR)/score.list
- X
- X @echo "\n >>> Welcome to UNIX-Chess ! <<<"
- X
- remove:
- X -rm -rf $(LIBDIR)/save
- X -rm -rf $(LIBDIR)/training
- X -rm -f $(BINDIR)/$(NAME)
- X -rm -f $(LIBDIR)/chbrk
- X -rm -f $(LIBDIR)/def.*
- X -rm -f $(LIBDIR)/chess.op
- X -rm -f $(LIBDIR)/error.op
- X -rm -f $(LIBDIR)/score.list
- X -rm -f $(MANDIR)/$(NAME).$(MANUAL)
- X -rm -f $(CATDIR)/$(NAME).$(MANUAL)
- X
- dist: $(ALLARCH)
- X $(SHAR) $(ALLARCH)
- X
- chess.arc: $(ALLARCH)
- X -rm -f chess.arc
- X arc -a chess.arc $(ALLARCH)
- X
- chess.zoo: $(ALLARCH)
- X -rm -f chess.zoo
- X zoo -add chess.zoo $(ALLARCH)
- X
- chess.tar: $(ALLARCH)
- X tar cvf chess.tar $(ALLARCH)
- X
- chess.tar.Z: chess.tar
- X @if test -r chess.tar.Z ;\
- X then \
- X rm -f chess.tar.Z ;\
- X fi
- X compress chess.tar
- X
- listing: $(ALLSRCS) $(ALLHDRS)
- X cpr -Xp9w83 $(ALLSRCS) $(ALLHDRS) > listing
- X
- clean:
- X -rm -f ad/*.o
- X -rm -f ch/*.o
- X -rm -f br/*.o
- X
- clobber: clean
- X -rm -f $(NAME)
- X -rm -f $(NAME).??
- X -rm -f chbrk
- X -rm -f ad/main2.c
- X -rm -f chess.op
- X -rm -f error.op
- X -rm -f lint.out
- X -rm -f man.$(MANUAL)
- X -rm -f cat.$(MANUAL)
- X -rm -f core
- X -rm -f mon.out
- X -rm -f lint.out
- X -rm -f listing
- X -rm -f *.bak
- X -rm -f *.shar
- X -rm -f score.list
- X -rm -r -f training
- X -rm -r -f save
- X
- ad/main2.c: ad/main.c
- X ln ad/main.c ad/main2.c
- X
- ad/main2.o: ad/main2.c
- X $(CC) $(CFLAGS) -DWORKDIR=\"$(LIBDIR)\" -c ad/main2.c
- X mv main2.o ad
- X
- # Build a list of all op.* files
- oplist: Makefile op
- X @echo 'make oplist is running on the following files: '
- X @echo op/op.*
- X @-rm -f op.tmp
- X
- X @for i in op/op.* ; do \
- X echo $$i >> op.tmp ; \
- X done
- X
- X @cp Makefile Makefile.bak
- X @echo 'ed - Makefile <<\ EOF' > oplist
- X @echo '/op start/a' >> oplist
- X
- X @awk \
- X 'BEGIN { ORS=" " ; i= -1 ; j=1 ; print "ALLOP = " } \
- X i++ >= 3 { i=0 ; ORS="\n" ; print " \\" ; ORS=" " ; \
- X j++ ; print " " } \
- X { print $$1 } \
- X END { print "" }' op.tmp >> oplist
- X
- X @echo '' >> oplist
- X @echo '.' >> oplist
- X @echo '.+1,/op end/-1d' >> oplist
- X @echo 'w' >> oplist
- X @echo 'q' >> oplist
- X @echo 'EOF' >> oplist
- X
- X @sh oplist
- X
- X -rm -f op.tmp oplist
- X
- # Build a list of .h file dependencies.
- depend:
- X @echo 'make depend is running on the following files: '
- X @echo $(ALLSRCS)
- X @rm -f makedep eddep
- X @for i in $(ALLSRCS); do\
- X $(CC) -E $(CFLAGS) $$i |\
- X grep '^#' |\
- X awk '{ print $$3 }' |\
- X grep '^"' |\
- X grep -v "/usr/include" |\
- X sed -e 's|/[^/]*/\.\.||g' -e 's|"||g' |\
- X sort -u |\
- X awk "BEGIN { of = \"`basename $$i .c`\" \".o: \"; rec = of } \
- X { rec = rec \" \" \$$0 } \
- X END { print \"`dirname $$i`/\" rec ; \
- X print \" $$(CC) $$(CFLAGS) -c $$i\" ; \
- X print \" mv `basename $$i .c`.o `dirname $$i`\" }" \
- X >> makedep ; \
- X done
- X @echo '$$r makedep' >>eddep
- X @echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >>eddep
- X @echo '$$r makedep' >>eddep
- X @echo 'w' >>eddep
- X @cp Makefile Makefile.bak
- X @ed - Makefile < eddep
- X @rm -f eddep makedep
- X
- # DO NOT DELETE THIS LINE -- make depend uses it
- ch/value.o: ch/ch.h ch/ph.h ch/value.c
- X $(CC) $(CFLAGS) -c ch/value.c
- X mv value.o ch
- ch/main.o: ch/ch.h ch/main.c
- X $(CC) $(CFLAGS) -c ch/main.c
- X mv main.o ch
- ch/move.o: ch/ch.h ch/move.c
- X $(CC) $(CFLAGS) -c ch/move.c
- X mv move.o ch
- ch/comp.o: ch/ch.h ch/comp.c
- X $(CC) $(CFLAGS) -c ch/comp.c
- X mv comp.o ch
- ch/utility.o: ch/ch.h ch/utility.c
- X $(CC) $(CFLAGS) -c ch/utility.c
- X mv utility.o ch
- ch/threat.o: ch/ch.h ch/threat.c
- X $(CC) $(CFLAGS) -c ch/threat.c
- X mv threat.o ch
- ch/init.o: ch/ch.h ch/init.c
- X $(CC) $(CFLAGS) -c ch/init.c
- X mv init.o ch
- ch/list.o: ch/ch.h ch/list.c
- X $(CC) $(CFLAGS) -c ch/list.c
- X mv list.o ch
- ch/archiv.o: ch/archiv.c ch/ch.h
- X $(CC) $(CFLAGS) -c ch/archiv.c
- X mv archiv.o ch
- ch/open.o: ch/ch.h ch/open.c ch/ph.h
- X $(CC) $(CFLAGS) -c ch/open.c
- X mv open.o ch
- ch/stat.o: ch/ch.h ch/ph.h ch/stat.c
- X $(CC) $(CFLAGS) -c ch/stat.c
- X mv stat.o ch
- ad/main.o: ad/ad.h ad/main.c
- X $(CC) $(CFLAGS) -c ad/main.c
- X mv main.o ad
- ad/init.o: ad/ad.h ad/init.c
- X $(CC) $(CFLAGS) -c ad/init.c
- X mv init.o ad
- ad/utility.o: ad/ad.h ad/utility.c
- X $(CC) $(CFLAGS) -c ad/utility.c
- X mv utility.o ad
- ad/monitor.o: ad/ad.h ad/monitor.c
- X $(CC) $(CFLAGS) -c ad/monitor.c
- X mv monitor.o ad
- ad/window.o: ad/ad.h ad/window.c
- X $(CC) $(CFLAGS) -c ad/window.c
- X mv window.o ad
- ad/move.o: ad/ad.h ad/move.c
- X $(CC) $(CFLAGS) -c ad/move.c
- X mv move.o ad
- ad/interrupt.o: ad/ad.h ad/interrupt.c
- X $(CC) $(CFLAGS) -c ad/interrupt.c
- X mv interrupt.o ad
- ad/load.o: ad/ad.h ad/load.c
- X $(CC) $(CFLAGS) -c ad/load.c
- X mv load.o ad
- ad/menu.o: ad/ad.h ad/menu.c
- X $(CC) $(CFLAGS) -c ad/menu.c
- X mv menu.o ad
- ad/lock.o: ad/ad.h ad/lock.c
- X $(CC) $(CFLAGS) -c ad/lock.c
- X mv lock.o ad
- ad/admin.o: ad/ad.h ad/admin.c
- X $(CC) $(CFLAGS) -c ad/admin.c
- X mv admin.o ad
- ad/screen.o: ad/ad.h ad/patchlevel.h ad/screen.c
- X $(CC) $(CFLAGS) -c ad/screen.c
- X mv screen.o ad
- ad/id.o: ad/ad.h ad/id.c
- X $(CC) $(CFLAGS) -c ad/id.c
- X mv id.o ad
- ad/score.o: ad/ad.h ad/score.c
- X $(CC) $(CFLAGS) -c ad/score.c
- X mv score.o ad
- ad/training.o: ad/ad.h ad/training.c
- X $(CC) $(CFLAGS) -c ad/training.c
- X mv training.o ad
- ad/tour_user.o: ad/ad.h ad/tour_user.c
- X $(CC) $(CFLAGS) -c ad/tour_user.c
- X mv tour_user.o ad
- ad/tour_comp.o: ad/ad.h ad/tour_comp.c
- X $(CC) $(CFLAGS) -c ad/tour_comp.c
- X mv tour_comp.o ad
- ad/expire.o: ad/ad.h ad/expire.c
- X $(CC) $(CFLAGS) -c ad/expire.c
- X mv expire.o ad
- ad/setup.o: ad/ad.h ad/setup.c
- X $(CC) $(CFLAGS) -c ad/setup.c
- X mv setup.o ad
- br/break.o: br/break.c
- X $(CC) $(CFLAGS) -c br/break.c
- X mv break.o br
- SHAR_EOF
- chmod 0644 Makefile ||
- echo 'restore of Makefile failed'
- Wc_c="`wc -c < 'Makefile'`"
- test 11920 -eq "$Wc_c" ||
- echo 'Makefile: original size 11920, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- rm -f _shar_seq_.tmp
- echo You have unpacked the last part
- exit 0
- --
- / | -: Marc Laukien :- |
- /__ | | _ _ __
- / \ /_ / / | ml@brumuc.muc.sub.org | / \/ | / / /
- /____/ / /__/ | sigma@salyko.doit.sub.org | / | /__/ /__
-