This is Lost Cities, a two-player game supporting Internet play. The original card game is by Reiner Knizia, who is not affiliated in any way with this implementation.

Rules

Each player is dealt eight cards. Each turn, a player must play a card or discard a card, and then draw. Each card has a color and either a value which is either from 2 to 10, or is a handshake. There are three handshakes per suit, and one of each number card.

Each player has one play pile per suit. Your play piles are shown at the top of the window, and your opponent's are at the bottom. You may only play higher-numbered cards on top of lower-numbered cards; handshake cards must go before all numbered cards.

Discard piles are also sorted by suit, but discards may be in any order. Discards are shown in the center of the window. After you have played or discarded, you may draw either from the deck, or from any discard pile.

When the last card is drawn from the deck, the game ends immediately.

Scoring

Each player's score is the sum of their scores for each suit. A suit in which no cards have been played is worth zero points. If cards have been played in a suit, the score is the sum of the number cards, minus twenty, multiplied by one plus the number if handshakes. Note that this may be negative.

In other words, you want to get at least twenty points in each suit. Anything below that is loss, anything above is gain. The first handshake doubles your gains or losses, the second triples them, and the third quadruples them.

Additionally, if you have played 8 or more cards in a suit, add twenty points to that suit *after* multiplying.

Still confused about scoring? See calcScore in LostCitiesImpl.py

Games are usually played in threes, with the person with higher cumulative score going first (a tiny disadvantage) but I haven't yet implemented any code support for this.

A decent player can expect to score 150 points across three games.

Strategies

If your opening hand does not offer a clear strategy, discard handshakes and low cards and draw from the deck. Conversely, it's usually a bad idea to draw very low cards from the discard pile -- your expected gain is higher if you draw from the deck.

You may have to choose a "throw away" suit or two, in which you don't expect to get twenty points. This can relieve some of the pressure in your hand.

Keep count of how many turns may remain, and keep drawing from the deck until the last minute. Then draw from the discard piles to slow the game down. Even if you don't need any more cards, it's worth denying them to your opponent.

Notes about this software

Copyright 2003, 2004 David "Novalis" Turner <novalis@fsf.org>

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., 51 Franklin St -- Fifth Floor, Boston, MA 02111

Requires

Client: lost_cities.py

Server: server.py

The server listens on port 10611. I hope to one day provide a public server.

Download

Lost Cities, client and server