xskat - a card game for 1 to 3 players.

       xskat   [-display|-d   display]   [-geometry|-g  geometry]
       [-font|-fn font] [-iconic|-i]  [-title|-T  string]  [-name
       prog]  [-fg  color]  [-bg color] [-bt color] [-mark color]
       [-3d] [-2d] [-3dtop color] [-3dbot  color]  [-mb  button#]
       [-keyboard    number]    [-tdelay   seconds]   [-fastdeal]
       [-slowdeal]  [-help|-h]   [-frenchcards]   [-french4cards]
       [-germancards]  [-german4cards]  [-color] [-mono] [-color1
       color] .. [-color4 color] [-large] [-small] [-up]  [-down]
       [-alt]  [-seq]  [-list|-l file] [-alist] [-nlist] [-tlist]
       [-log file] [-dolog] [-nolog] [-fmt] [-unfmt] [-game file]
       [-briefmsg] [-verbosemsg] [-trickl2r] [-notrickl2r] [-lang
       language] [-start player#] [-s1 number] [-s2 number]  [-s3
       number]  [-ramsch]  [-noramsch]  [-ramschonly]  [-sramsch]
       [-nosramsch]   [-skattolast]   [-skattoloser]    [-kontra]
       [-nokontra]  [-kontra18]  [-bock]  [-nobock] [-bockramsch]
       [-bockevents   number]    [-resumebock]    [-noresumebock]
       [-spitze] [-spitze2] [-nospitze] [-revolution] [-norevolu-
       tion] [-klopfen]  [-noklopfen]  [-schenken]  [-noschenken]
       [-hint]   [-nohint]  [-newrules]  [-oldrules]  [-shortcut]
       [-noshortcut] [-askshortcut] [-irc]  [-noirc]  [-irctelnet
       program] [-ircserver hostname] [-ircport number] [-irccha-
       nnel name] [-ircnick name] [-ircuser  name]  [-ircrealname
       name]  [-ircpos  number]  [-irclog  file]  [-irclogappend]
       [-irclogoverwrite]  [-auto  #ofgames]  [-opt  file]  [-pk]

       XSkat  lets  you play the card game Skat as defined by the
       official Skat Order.

       Up to 3 players may be simulated by the computer.

       After starting the game a mouse click or ESC/F1 will bring
       up  a  menu.   Other  useful keys are: Space, Return, Tab,
       Cursor left/right/up/down.  The rest of the game  controls
       should be fairly obvious.

       An introduction to Skat can be found at

       In  the  following descriptions, the player starting XSkat
       is called player1.

       -display display name
       -geometry geometry specification
       -font font name (default: 9x15 or 10x20)
       -title window title
       -name application resource name
       -fg foreground color
       -bg background color
              The usual X toolkit options.

       -bt color
              The color of dialog buttons.

       -mark color
              The color of the marks that indicate
              who is forehand (during bidding),
              who is the Soloist,
              which card the computer would play,
              or the keyboard focus
              (default: red or black).

       -3d    Use a 3D look for dialogs (default).

       -2d    Use the old,  flat  style  (default  on  monochrome

       -3dtop color
              The  color  used  for  the lines around the top and
              left sides of 3D buttons (default: white).

       -3dbot color
              The color used for the lines around the bottom  and
              right sides of 3D buttons (default: black).

       -mb menu button
              The  number  of the mouse button that brings up the
              menu (default: 0 = any button).

       -keyboard number
              Define how much of the user interface may  be  con-
              trolled  by  the keyboard.  The number has the fol-
              lowing meaning:
               0 : Nothing.
               1 : More (default).
               2 : Everything.

       -tdelay seconds
              Specifies how long the last trick will be  visible.
              A  delay  of  more  than  10 seconds means that the
              trick will be removed after pressing a  mouse  but-
              ton.   In  multiplayer  mode  the largest specified
              value is used (default: 0.7).

              Deal the cards without any  time  consuming  anima-

              Deal the cards slowly (default).

       -help  Show a short help text.

              Play with French suited cards.

              Change  the  colors  of diamond and spade to orange
              and green, so that the 4 suits have easily  distin-
              guishable colors (default).

              Use German cards.

              Change  the color of acorns to brown, so that the 4
              suits have easily distinguishable colors.

       -color Use colored cards.  If there are not enough  colors
              left,  the  number of colors used to draw the cards
              will be reduced appropriately (default).

       -mono  Use b&w cards.

       -color1 .. -color4
              Redefine the colors of the  suits  diamond,  heart,
              spade  and club.  Selecting -french4cards overrides
              the colors for diamond and spade.

       -large and -small
              Select the size of the  main  window  (default:  as
              large as possible).

       -down  Sort cards downwards (default).

       -up    Sort cards upwards.

       -alt   Sort cards in alternating order.

       -seq   Sort cards in sequential order (default).

       -list filename
              The   file   for  saving/restoring  the  game  list
              (default: $HOME/.xskat.lst or ./xskat.lst  if  HOME
              isn't set.  For IRC games: .irc instead of .lst).

       -alist Alternative form of listing.

       -nlist Normal form of listing (default).

       -tlist Listing with tournament scoring.

       -log filename
              Turn  on automatic logging, i.e. append logs of all
              games to filename (- means stdout).

       -dolog Turn   on   automatic   logging   (default    file:
              $HOME/.xskat.log or ./xskat.log).

       -nolog Turn  off  automatic  logging  (default).   Logs of
              individual games may  still  be  saved  during  the

       -fmt   Write  formatted log files, i.e. use backspaces for
              underlining and boldface.

       -unfmt Write unformatted log files (default).

       -game filename
              Read  predefined  games  from  filename  (-   means
              stdin).  Not available for IRC play.  See also sec-
              tion FILES below.

              Indicate who is forehand (during bidding)  and  who
              is  the  Soloist  by displaying a small mark on the
              back of the cards.

              Additionally print out everyones position and  what
              is being played (default).

              Put  down  the  cards of a trick from left to right

              Place the cards corresponding to the players  posi-

       -lang language
              Currently  available:  English and German (default:
              $LANG/$LANGUAGE is tried first.  Then:  see  Imake-

       -start number
              The player who starts dealing cards (default: 2).

       -s1 number
       -s2 number
       -s3 number
              Change  the  playing strenght of the computer play-
              s1 corresponds  to  the  left  computer  in  single
              player  mode or to the one and only computer in two
              player mode.
              s2 corresponds to  the  right  computer  in  single
              player mode.
              s3 is only useful with -auto.
              The   number  must  be  between  -4  (weak)  and  0

              Play a game of Ramsch when all players pass.
              The following rules are currently implemented:
              The Skat remains face down until  it  goes  to  the
              winner  of  the  last trick (or to the loser of the
              game, s.b.).  The amount lost is the number of card
              points  taken.   If  two  players tie for most card
              points, they both lose.  If all tie, the  score  is
              0.   If  one  player takes no tricks (a virgin) the
              amount lost by the loser is doubled.  Someone  tak-
              ing  all the tricks (forced march) wins 120 points.

              Don't play Ramsch (default).

              Play Ramsch each game.

              Play Schieberamsch instead of simple Ramsch.
              The rules are:
              Each player in turn, starting  with  Forehand,  may
              pick  up  the Skat and discard two cards face down.
              It's not allowed to pass on jacks.   The  score  is
              doubled  each  time  a  player  doesn't pick up the

              Don't play Schieberamsch (default).

              At the end of a Ramsch game the Skat is awarded  to
              the loser(s).  This will increase the loss.

              The  Skat  goes  to  the  winner  of the last trick

              Allow opponents to say 'Kontra' which  doubles  the
              score  of  the game.  The Soloist may reply 'Re' to
              double the score again.

              Disallow Kontra (default).

              Only an opponent who said at least 18 may say 'Kon-

       -bock  Play  a  Bockround  after  some special event.  The
              score is doubled in the next 3 games.  If an  event
              causing  a new Bockround happens before the current
              Bockround is over or several Bockround events  hap-
              pen  at  the  same  time,  the number of Bockrounds
              still to play is increased appropriately.

              Don't play Bockrounds (default).

              Play a round of compulsory Ramsch after each  Bock-
              round.  Before a game of Ramsch begins, each player
              in turn, starting with  Forehand,  may  declare  to
              play  Grand  Hand  instead.  After a Grand Hand the
              same player deals again because this game does  not
              count towards completing the Ramschround.

       -bockevents number
              Specify the events that cause a Bockround.
              (1) A game is lost with 60 points.
              (2) A successful Grand Hand.
              (4) A successful Kontra (opponents win).
              (8) A game with Kontra & Re.
              (16) A player's score ends in 3 equal digits.
              (32) A player's score is a multiple of 100.
              (64) A game value of +72 or more.
              (128) A game value of +96 or more.
              Add  up  the  numbers in parentheses to specify the
              desired events (default: 0).
              A Kontra where the Soloist said Re but lost  counts
              as one event not two (events 4 and 8).
              To  check  a  player's  score,  the current listing
              options of player1 are used (events 16 and 32).   A
              score  that  is  a  multiple  of 1000 counts as one
              The game value (events 64 and 128)  is  the  normal
              value  without  considering  any doubling caused by
              Ramsch, Kontra or Bock.

              Resume unfinished  Bockrounds  after  quitting  and
              restarting  XSkat.   The number of games to play is
              read from the game list file.

              Don't resume Bockrounds (default).

              Allow the Soloist to declare  Spitze.   This  means
              that  the  last  trick must be made with the lowest
              trump to win the game.  This will be  indicated  to
              the  other  players by displaying the lowest trump.
              The game multiplier is increased by  1.   It's  not
              allowed to say Spitze in a Grand with 4 jacks.

              Declaring Spitze increases the multiplier by 2.

              Don't allow Spitze (default).

              Enable  a  special variation of Null ouvert.  After
              the Soloist's cards are exposed the  opponents  can
              look  at each other's cards and rearrange the cards
              between their two hands in any way they wish before
              the  start  of  the  play.   Revolution is worth 92

              Don't allow Revolution (default).

              During a Ramschround you may knock (klopfen) at the
              beginning  of a game to indicate that you think you
              won't lose.  This will  double  the  score  of  the
              game.  Klopfen is not possible if you don't pick up
              the Skat in Schieberamsch.

              Don't allow Klopfen (default).

              If the opponents decide at the start  of  the  play
              that  they cannot defeat the Soloist, they can give
              up.  This is done by selecting  Schenken  from  the
              main  menu  during  the  first trick when it's your
              turn.  If the Soloist  accepts,  the  score  is  as
              though  the  game  was won simply.  The Soloist can
              insist on playing on, but in that case has to  make
              the  opponents Schneider to win.  The score in this
              case is as for an announced Schneider  (the  multi-
              plier  is  increased by 2).  If the Soloist goes on
              the  opponents  can  schenken  again,  giving   the
              Soloist  the  Schneider.   The  Soloist  can accept
              Schneider or insist on playing on for Schwarz.

              Don't allow Schenken (default).

       -hint  Put a mark over the card the computer would play.

              Don't show computer hints (default).

              Use the official rules of 01/01/1999:
              Lost Hand games count double.
              The Grand Ouvert multiplier is 24.

              Lost Hand games count simple.
              The Grand Ouvert multiplier is 36.

              Always finish the game when  the  remaining  tricks
              will all go to one side.

              Play each trick.

              Ask whether a shortcut should be taken (default).

       -irc   Play  via  Internet  Relay  Chat.  This option will
              establish a connection to an IRC server  where  you
              can join other people for a game of Skat.
              How it works:
              Start  XSkat  from  an xterm. Wait until the server
              has printed the welcome message.  You  are  now  on
              channel  #xskat  where new games should be planned.
              Everything you type into the xterm will be sent  to
              everyone else on this channel. After you have found
              one or two other players and agreed upon  the  name
              of  a  new channel (say #xskat123), you should type
              /join #xskat123.  When all players are on  the  new
              channel,  exactly  one  player  has to type /go (or
              /go2 if there are only  2  players)  to  start  the
              game. Now you can play and talk.

       -noirc Don't use IRC (default).

       -irctelnet program
              Specify the program that will be used to connect to
              the IRC server.  If you are sitting behind a  fire-
              wall,  a  program like rtelnet must be used and you
              may have to set $SOCKS_SERVER to the name  of  your
              firewall host (default: telnet).

       -ircserver host-name
              Select an IRC server near you! (default: $IRCSERVER
              or, if not changed in  the  Imake-

       -ircport number
              The  port of the IRC server to connect to (default:
              $IRCPORT or 6667).

       -ircchannel name
              The channel to join initially (default: #xskat).

       -ircnick name
              Your IRC nickname. If your nick is already used  by
              someone  else,  a  different nick will be generated
              automatically.  Some servers allow a nick length of
              30,  others  limit  it  to 9 characters.  (default:
              $IRCNICK or $IRCUSER or $LOGNAME or xskatNNNN).

       -ircuser name
              Your user/login name. Note: most servers don't like
              faked user names (default: $IRCUSER or $LOGNAME).

       -ircrealname name
              Your real name (default: $IRCNAME or the entry from
              the passwd file or 'XSkat player').

       -ircpos number
              Select your position relative to the other players.
              Positions are numbered clockwise 1, 2 and 3. Player
              2 will start dealing  if  not  specified  otherwise
              with  -start  or /start.  If you don't specify your
              position or there is a conflict with someone else's
              choice  or  you  give  an  invalid number (3 in a 2
              player game), this  will  be  fixed  automatically.
              Choosing  the  right  positions is important if you
              want to continue with a saved game list (default: 0
              = I don't care).

       -irclog file
              Everything  sent to or received from the IRC server
              is saved to this file (- means stdout).  It may  be
              useful  for debugging (default: $HOME/.xskat.ilg or

              Append output to the log file.

              Overwrite existing log file (default).

       IRC commands:
              /nick name, /nick - change or  display  your  nick-
              /who - is on the current channel ?
              /list,  /list string - show all channels that match
              the word xskat or the specified string.  This  will
              take  some  time on networks with a large number of
              channels.  Trying to stop the listing  will  termi-
              nate the program.
              /pos number - see -ircpos.
              /bell  -  toggle  the alarm bell. When on, the bell
              will ring each time someone joins your  channel  or
              sends a message to you.  The bell is off initially.
              /quit - terminate XSkat.
              /sync - if messages get lost due to a net-split (or
              because  someone  left  the  channel  during play),
              XSkat will detect this and in most cases should  be
              able  to  synchronize automatically (within 30 sec-
              onds) after the connection is reestablished.   Typ-
              ing /sync will try this immediately.
              /quote  command args - for those who know what they
              are doing.
              The following commands  are  only  useful  for  the
              player  who  will  start  the  game  by  typing /go
              because that player will determine the rules of the
              /default - set the official rules.
              /ramsch,  /sramsch,  /skattoloser,  /kontra, /bock,
              /resumebock,   /spitze,   /revolution,    /klopfen,
              /schenken,  /oldrules, /bockevents, /alist, /tlist,
              /start, /s1 - change the rules of the game.  All of
              these  require an argument (a number or True/False)
              just like the resources with the same name.
              /rules - show the current rules to everyone on your

       Notes: The  version  numbers of all participating programs
              must be equal.
              Most options cannot be  changed  during  the  game.
              Options  that  can  be  changed  are not saved to a
              The game list can only be cleared during bidding or
              when  it's  your  turn  to play a card.  There is a
              different default game  list  for  IRC  games  (see
              It's  possible  to  type into the xterm or the game
              window (which is recommended), but  changing  input
              sources in the middle of a line won't work.
              If  you  want better input line editing and a split
              screen try the program ssfe.  It is used like this:
              ssfe -raw xskat -irc
              You can omit -irc when you specify any of the other
              IRC options.

       -auto #ofgames
              Three computers play the specified number of  games
              without  human  interaction.   The resulting scores
              are printed.
              With this option, no resources are  read,  and  the
              game list is saved only if -list is specified.

       -opt filename
              The  file  for  saving/restoring  all interactively
              changeable  options  of   all   players   (default:
              $HOME/.xskat.opt  or  ./xskat.opt).   Command  line
              options take precedence over options  specified  in
              this  file which in turn override resource specifi-
              cations.  This may be changed with  the  useoptfile

       -pk    If  you want the computer to deal a Good Hand every
              time.  (as requested by Petra  K.)   Alternatively,
              pressing  F6 three times will result in a Good Hand
              for the next game.  Does not  work  in  multiplayer

              Specifies  the  display  of  the  second  and third
              player (but is ignored for IRC games).  The player@
              part may be omitted if the alias resource is set on

       Command line options take precedence over resource  speci-
       fications for player1.

       geometry, font, title, foreground, background
              The usual X11 resources.

       mark   (see -mark).

       button (used for 2D buttons, see -bt).

              (used  for 3D buttons, see -bt, default: a shade of

              (used for 3D dialogs, see -bg, default: a different
              shade of gray).

       3d     True or False (see -3d and -2d).

       3dtop  (see -3dtop).

       3dbot  (see -3dbot).

              (see -mb).

              (see -keyboard).

       tdelay (see -tdelay).

              True or False (see -fastdeal and -slowdeal).(#)

       cards  0,  1,  2  or  3  (see -frenchcards, -french4cards,
              -germancards and -german4cards).

       color  True or False (see -color and -mono).

       color1 .. color4
              (see -color1 .. -color4).

       large  True or False (see -large and -small).

       down   True or False (see -down and -up).

       alt    True or False (see -alt and -seq).

       list   (see -list).(#)

       alist  True or False (see -alist and -nlist).

       tlist  True or False (see -tlist and -nlist).

       log    (see -log).(#)

       dolog  True or False (see -dolog and -nolog).(#)

              True or False (see -fmt and -unfmt).(#)

       game   (see -game).(#)

              True or False (see -briefmsg and -verbosemsg).

              True or False (see -trickl2r and -notrickl2r).

              (see -lang).

       start  (see -start).(#)

       s1, s2 (see -s1, -s2).(#)

       ramsch 0,  1  or  2  (see  -noramsch,  -ramsch  and  -ram-

              True or False (see -sramsch and -nosramsch).(#)

              True   or  False  (see  -skattoloser  and  -skatto-

       kontra 0,  1  or  2  (see  -nokontra,  -kontra  and  -kon-

       bock   0, 1 or 2 (see -nobock, -bock and -bockramsch).(#)

              (see -bockevents).(#)

              True  or  False  (see  -resumebock  and  -noresume-

       spitze 0, 1 or 2 (see -nospitze, -spitze and -spitze2).(#)

              True  or  False  (see  -revolution  and  -norevolu-

              True or False (see -klopfen and -noklopfen).(#)

              True or False (see -schenken and -noschenken).(#)

       hint   True or False (see -hint and -nohint).

              True or False (see -oldrules and -newrules).(#)

              0,  1  or  2  (see  -noshortcut,  -askshortcut  and

       irc    True or False (see -irc and -noirc).(#)

              (see -irctelnet).(#)

              (see -ircserver).(#)

              (see -ircport).(#)

              (see -ircchannel).(#)

              (see -ircnick).(#)

              (see -ircuser).(#)

              (see -ircrealname).(#)

       ircpos (see -ircpos).(#)

              (see -list).(#)

       irclog (see -irclog).(#)

              True  or  False (see -irclogappend and -irclogover-

       opt    (see -opt).(#)

              True or False (default: False).  This is a resource
              for  multiplayer  mode  (but  not  for IRC).  It is
              ignored for player1.  If set to True, the  contents
              of  the option file, which is owned by player1, are
              used.  This means that you may end up with  someone
              else's preferred settings if player1 used this file
              in a different multiplayer game.

       alias  The player's real name (max. 2 words of  9  charac-
              ters, default: $LOGNAME).

       Only player1 may specify the resources marked with (#).

       Filenames  starting  with  ~/ are interpreted correctly if
       HOME is set.

       An example of a file specifying predefined games:

       # The following block specifies the distribution
       # of cards for player1, 2, 3 and Skat(0).
       # A 10  K  Q  J  9  8  7
         2  2  2  2  2  0  3  3  # Diamond
         2  2  2  2  2  3  3  3  # Heart
         1  1  1  1  1  3  3  3  # Spade
         1  1  1  1  1  0  3  3  # Club
       # The following is not the same game !
       # Player numbers rotate 3 -> 2 -> 1 -> 3
       # (and depend on the start option).
         2  2  2  2  2  0  3  3
         2  2  2  2  2  3  3  3
         1  1  1  1  1  3  3  3
         1  1  1  1  1  0  3  3
       # Repeat the above games forever.
       # The following lines take effect only
       # when you delete the 'repeat'.
       random_seed 123456 0 2
       # Specifies the random number which determines
       # card distribution for all following games.
       # The second number lets you skip that many
       # games in the sequence.
       # The third (optional) number defines
       # who will start dealing cards (see -start).
       # An additional L or R following this number will
       # rotate the cards left or right.
       # The random_seed will be shown in game logs
       # to allow easy replay. Just type:
       # echo random_seed 123456 0 2 | xskat -game -

       There are no official rules  for  the  variations  Ramsch,
       Kontra, Bock, Spitze, Revolution, Klopfen and Schenken.

       If executing xskat player@otherhost:0 on yourhost gives an
       error message you could try the command xhost yourhost  on
       otherhost to grant yourhost access to otherhost's display.

       If you replay a game with your own cards, it doesn't  mat-
       ter whether 'Forehand changes' is set to 'yes' or 'no'.

       Some  versions  of  telnet  have a bug, that prevents them
       from reading input from a pipe correctly.  See  README.IRC
       for a fix or put this into your ~/.telnetrc:
        set echo off
        set escape off
        set rlogin off
        set flushoutput off
        set interrupt off
        set quit off
        set eof off
        set erase off
        set kill off
        set lnext off
        set susp off
        set reprint off
        set worderase off
        set start off
        set stop off
        set forw1 off
        set forw2 off
        set ayt off

       Leading  blanks are important!  Change the irc server line

       Gunter Gerhardt

       The latest version is always available at

       This program is free software; you can redistribute it freely.
       Use it at your own risk; there is NO WARRANTY.

       Redistribution of modified versions is permitted
       provided that the following conditions are met:
       1. All copyright & permission notices are preserved.
       2.a) Only changes required for packaging or porting are made.
       2.b) It is clearly stated who last changed the program.
            The program is renamed or
            the version number is of the form x.y.z,
            where x.y is the version of the original program
            and z is an arbitrary suffix.

Back to the XSkat Home Page