SpadeLover Spades by Britt Yenne Table of Contents: I. Introduction -- What Is All This? II. Spades Variations Support III. Game Interface / Options IV. Other Spades Resources and Links V. Who do I thank/blame/contact for all this? VI. License / Source Code I. ----- Introduction -- What Is All This? ----- At one level, Spades is a card game usually played with four players. At a higher level, Spades is the most addicting game I've encountered in the past year, especially considering the growing number of Internet sites where Spades can be played on-line (see section IV below for links). Its utter simplicity belies a high degree of tricky finesse. Spades also happens to be one of the more customizable card games -- new variations seem to get born all the time, especially when some creative soul has it in his or her mind to start a new and unique sort of tournament on-line. Since this is part of the fun, my Spades game has significant customization capability, but hopefully subtle enough not to thwart a first-time Spader. Before I describe game play, I should comment that most of the rules governing play are configurable. Hence, I will describe basic game play and then move on to some special variation rules. If you already know how to play Spades, feel free to skip down to section II. Game play is pretty simple. The dealer deals a standard deck of cards to the four players, which gives each player 13 cards. Starting from the dealer's left and proceeding clockwise, each player bids how many "tricks" he thinks he can take during play. A trick is comprised of one card from each player (we'll come to this in a minute), so there are a total of 13 tricks the players may bid for. The sum of the bids does *not* need to equal 13. When all four players have bid, the player to the dealer's left then leads one of his cards by placing it face up on the table. By the normal rules he may lead any card but a spade, unless his hand is all spades by some miracle. Proceeding clockwise, each of the other players must play a card of the same suit. If a player does not have a card of the led suit, then he may play any card. When all four players have played, this "trick" is won by the highest card in suit unless any spades were played, at which point the trick is won by the highest spade. The winning player must then lead the next trick. This continues until all 13 tricks are played. When all tricks have played out, the hand is scored. If a player takes at least as many tricks as he bid, then he gets 10 points times his bid plus one additional point for each trick he made over his bid. These extra tricks are called "bags." If a player fails to take as many tricks as he bid, then he loses 10 points times his bid. A bid of zero, also known as "nil," is special. A player bidding zero is announcing that he will take *no* tricks. If he successfully takes zero tricks, then he gets 100 points. If he takes one or more tricks then he loses 100 points. A player may also bid a "blind nil," meaning that he bids nil before looking at his cards. A blind nil is worth 200 points if successful and -100 points if unsuccessful. A blind nil is typically a desperation move by a losing player, but some people make it their lifelong ambition. One additional scoring item concerns bags (tricks taken over your bid). For every 10 bags accumulated, a player loses 100 points. II. ----- Spades Variations Support ----- My Spades game plays four basic variations of spades, each with several configurable rules. The game also allows two additional "custom" Spades variations, definable via a comprehensive list of configuration parameters. I will explain the four basic variations in this section, and will go on to explain the customizable rules in the next section. Variation 1: Partner Spades In Partner Spades, the players sitting opposite the table are partners and work together to make their combined bids. This makes two opposing teams of two players each. Players still bid individually, but a team need only make the combined bid of the two partners. For instance, if you bid 3 and your partner bids 4, then you need to take seven tricks between the two of you (ie. one can take 2 and the other 5). Score and bags are kept for the team rather than for each individual. If a player bids nil, then that player must still take zero tricks. A partner should help the other make his nil bid. If a nil bidder takes any tricks, then those tricks DO NOT COUNT toward completing his partner's bid. A total of 500 points wins the game. Any team that scores -300 points or less automatically loses the game. The default (but configurable) rules for Partner Spades are: 1. Spades must be broken before they can be led. 2. Blind nil bids are allowed at any time. The optional rules for Partner Spades are (see next section): 1. A player must beat the highest card played so far. 2. A player may declare a misdeal under certain conditions. 3. The first trick must be each player's lowest club. 4. 10-for-200: a team bid of 10 or more gets a bonus 100 points. 5. A player must be losing by 200 points to bid blind nil. 6. A blind nil bidder may exchange 1 or 2 cards with his partner. Variation 2: Solo Spades Solo Spades is every player for himself. Each player is responsible for making his individual bid. A total of 300 points wins the game. The default (but configurable) rules for Solo Spades are: 1. A player must beat the highest card played so far. 2. Spades must be broken before they can be led. 3. The first trick must be each player's lowest club. 4. Blind nil bids are allowed at any time. The optional rules for Solo Spades are (see next section): 1. A player may declare a misdeal under certain conditions. 2. 7-for-140: a bid of 7 or more gets a bonus 70 points. 3. A player must be losing by 200 points to bid blind nil. Variation 3: Suicide Spades Suicide Spades is the same as Partner Spades, except that one player from each team must bid nil and the other partner must bid four or more. When Suicide Spades is played in real life, the partners normally are allowed to discuss out loud which of them should bid zero and which should bid four or more. This, of course, must be done without revealing any specifics of cards held in their hands. To simulate this environment, my Spades game allows a player to "override" his partner's bid when the rules call for one of them to bid nil. If player X bids four and his partner bids four, then player X's bid is changed to nil. Conversely, if player X bids nil and his partner bids nil then player X's bid is changed to the minimum (in this case, four). Blind nil bids are meaningless in Suicide Spades and are therefore not allowed. A total of 300 points wins the game. Any team that scores -300 points or less automatically loses the game. The default (but configurable) rules for Suicide Spades are: 1. Spades must be broken before they can be led. The optional rules for Suicide Spades are (see next section): 1. A player may declare a misdeal under certain conditions. Variation 4: Mirrors Spades I don't know where Mirrors Spades originated, but I've heard that it came from some player on WON (see the links section below). If anybody knows, please let me know! :-) Mirrors Spades has one simple rule: each player's bid must be equal to the number of spades he is dealt. The hand is played normally. Blind nil bids are meaningless in Mirrors Spades and are therefore not allowed. A total of 500 points wins the game. Any team that scores -300 points or less automatically loses the game. The default (but configurable) rules for Mirror Spades are: 1. Partners. 2. Spades must be broken before they can be led. The optional rules for Mirror Spades are (see next section): 1. A player must beat the highest card played so far. 2. A player may declare a misdeal under certain conditions. 3. The first trick must be each player's lowest club. Custom Variations My Spades Game allows for two custom spades games. All aspects of the game, including the winning or losing scores, minimum and maximum individual or team bids, etc., are configurable. In fact, all of the variations supported by my Spades game were defined using this set of customizable parameters. The custom game screen can be a little overwhelming at first, but don't panic -- you don't need to know how this works to play any of the four supported variations. Descriptions of each customizable parameter are given in the next section. The game also has help buttons explaining each parameter. III. ----- Game Interface / Options ----- Game Play The standard game window is an overhead view of the table, with you sitting in the lower (South) position. Clockwise from your left sit the computer players named West, North, and East, labeled "W", "N", and "E". For partner games, North is your partner, and East and West are partners. Each player has a bid and taken indicator which show how many tricks that player has bid (or blank if he hasn't bid yet) and how many tricks he has taken so far in play. The bid indicator is labeled "B:" and the taken indicator is labeled "T:". A nil bid is displayed as a zero ("0") and a blind nil is displayed as "b0". When it is your turn to bid, a bidding screen will pop up in the center of the table. The bidding screen is positioned so that you can see the bids any computer players may have made so far. If you are allowed to bid blind nil then you will be prompted whether you wish to bid blind nil or view your cards instead. When your cards are visible you are prompted to select your bid and hit the "OK" button. If the misdeal option is enabled (see below), then a "Misdeal" button is available on the bidding screen for you to declare a misdeal. The misdeal button is always visible if the option is enabled -- it does not necessarily mean that your hand is a *valid* misdeal. Just as in real life, you have to think to recognize a potential misdeal and declare it. During bidding, informational dialogs may also pop up if any of the computer players declare a misdeal or override each others' bids (see the description of Suicide Spades above). Your cards are displayed across the bottom of the screen. When it is your turn to play, a "Your Play" label will appear above your cards. Tap on a card to play it. If you select an invalid play, the computer will explain any rule you break. When play is complete, a score screen will pop up and show the points earned in the hand, and a total score and bags so far for each team or player. Menu Options A menu is available by tapping on the palm pilot menu button at any time during play or bidding. Menu options include: New Game -- start a new game (you are prompted to confirm) Score -- display the current score Last Trick -- show the last trick played (comes up blank if none) Preferences -- show the preferences screen How To Play -- show an abbreviated set of game play rules About -- show information about this version of Spades Preferences Screen The preferences screen allows you to select which of the six variations of spades you wish to play (ie. Partner, Solo, Suicide, Mirror, or either of the two Custom games). Each game button has an information button which, when tapped, displays the specific rules for that variation. I have attempted to place these information buttons beside each game configuration item should you forget what any of the rules mean. I am not aware of any standard Palm Pilot information button icon that can be displayed anywhere on the screen, so I "rolled my own," as it were. It looks like an "i" in a circle. The "Game Options" button allows you to view and/or modify the game-specific options for the variation you currently have selected. Each variation's options are different -- see the variation descriptions in section II above. I will describe the various game options below. The "Level" selector allows you to choose whether the computer players will play at a Normal or Expert level. I use the term "Expert" rather loosely -- in as much as a computer can be expert at anything requiring a great deal of finesse. Suffice to say that the Expert level is aware of certain tricks that make it a tougher opponent (and a better partner). The final two selectors, "Sort Spades" and "Sort Aces" allow you to control how the cards in your hand are sorted on the screen. You may choose to sort the spades suit first or last in your hand, and you may choose to sort the ace of each suit to the left (first) or right (last). Hey, I know how you serious Spades addicts can get. The "Restore Defaults" button at the bottom of the screen will restore all original user and game preferences. It prompts you for confirmation first. Game Options Screens My Spades game supports a large number of game options, however each variation will only support the options that make sense for that variation. I will describe each of the options individually, but all of these options may not be available for each variation. Again, each option is always followed by an information button which will give a detailed description of that option. I've tried to keep things well documented in the game so that you don't need to keep this document handy. Option: Must Beat Highest This option requires a player to beat the highest card played so far if he can. This includes playing a spade if he is out of the suit led. Option: Allow Misdeals This option allows any player to declare a misdeal, at his option, if his hand has: 1. One or zero spades, or 2. A 7-card suit, or 3. No face cards Option: Spades Must Be Broken When enabled, no player may lead a spade until somebody 'breaks' spades by playing a spade when a different suit was led. Option: First Trick Low Clubs When enabled, the first trick is always each player's lowest club. If a player has no clubs then he may play any card. Option: 10-for-200 When selected, any team making a combined bid of 10 or more gets a bonus 100 points. Option: 7-for-140 When selected, any player making a bid of 7 or more gets a bonus 70 points. Option: Allow Blind Nils Blind nil bids are not allowed unless this option is selected. Option: Must Be 200 Down to Bid Blind Nil (or "200Down") When selected, a player must be losing by 200 points to bid blind nil. This prevents blind nils from being abused. Note that this option is meaningless unless you select the "allow blind nils" option as well. Option: Blind Nil Exchange (or "Bnil Exch") This is the number of cards a blind nil bidder may exchange with his partner after the bidding is complete but before play begins. You may specify "0", "1", or "2", but keep in mind that blind nils can be pretty easy to make when you can trade away a couple of high cards. Normally you would also enable the rule where a team must be 200 points down to bid blind nil. Option: Partners Selecting this option enables partners -- partners sit opposite each other and work together to take their combined bids. Option: Winning Score (or "Win") This is the number of points required to win the game. Option: Losing Score (or "Lose") This is the number of points required to lose the game. If this score is greater than the winning score, then a team must attempt to score between the winning and losing scores. Option: Bonus Bid (or "2xBid") This is the bid (or combined bid for partners) that, if made, counts for double the points. Disabled if zero. Option: Minimum Individual Bid (or "Min.Ind") This is the minimum bid any individual player must make. Option: Maximum Individual Bid (or "Max.Ind") This is the maximum bid any individual player may make. Option: Minimum Team Bid (or "Min.Tm") This is the minimum combined bid any team must make. Option: Maximum Team Bid (or "Max.Tm") This is the maximum combined bid any team may make. Option: One Partner Must Bid Nil (or "One Nil") This option requires one partner of each team to bid nil. Option: Must Bid Your Spade Count (or "Bid Spades") This option requires each player's to bid to be equal to the number of spades he was dealt. IV. ----- Other Spades Resources and Links ----- World Opponent Network (WON) http://www.won.net/ WON provides an on-line gaming community for many software titles like our friend Hoyle Classic Card Games, which includes Spades. You can do a game search for Hoyle Classic Card Games and then download a demo version which allows you to play Spades on the Internet. I hang out on WON all the time -- come join us. Sierra's Home Page http://www.sierra.com/ Sierra is the company which brought us Hoyle Classic Card Games. Everything they sell is great -- buy their software and support this great games company. SpadeLovers Anonymous http://www.spadelovers.com/ An association of Spades lovers like you and me. This site is a great way to link up with on-line Spades gamers, tournaments, and information. Crossbow's Page http://www.crossbow.net/ This page is the home of Crossbow and Panda's "Party Time" Spades tournament. The tourney is held every Friday night on WON, and is highly recommended. MPlayer http://www.mplayer.com/ MPlayer is another online gaming community. This one is really on the edge, with cool graphics and real voice chat features. I believe that you can still play on-line Spades for free on MPlayer, but prepare for one serious software download. It's worth it. V. ----- Who do I thank/blame/contact for all this? ----- My name is Britt Yenne, and I work for a consulting firm named The Kernel Group (TKG) in Austin, Texas. TKG tends to focus more on AIX and system management solutions than the Palm Pilot (darn it), so consequently this project has been on my own time. Fortunately, I love Spades. As of this writing, my e-mail address is "yenne@tkg.com". Please feel free to send me questions, comments, complaints, etc. I'm setting up a web page for my favorite Palm Pilot links and resources, as well as any current contact information: http://www.jump.net/~syenne/pilot If you prefer, you may send a letter to: Britt Yenne 3008 Pioneer Way Round Rock, TX 78664 Writing a computer Spades player has been enjoyable and often quite frustrating. I've discovered that Spades has more to do with tricks and experience than with thresholds and alpha-beta searches. There's no good way that I've found to score a hand or a card -- it would be easy if the goal were to take as many tricks as possible, but instead you want to take *enough* tricks but not too many. By the way, set the nil bidder. By the way, don't set your own nil bidder. By the way, pull your hair out and run naked down the street screaming. I hope you enjoy playing this game. If the computer players tend to play in a way that annoys you, let me know the details and maybe I can work something out. I will say that they play better than many of the people I meet on-line, which isn't saying much but is still encouraging. If you also have a real job and need system management solutions (Tivoli, AIX, SP2, custom solutions) please check out my company's web site, because that's what we do: http://www.tkg.com As always, have fun and maybe I'll run into you on WON someday (see above for links). My WON name is Alerial. VI. ----- License / Source Code ----- 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. A web link to the full text of the license, source code, and other documentation about this software may be found at: http://www.jump.net/~syenne/pilot