The lostcities package

[ Tags: game, gpl, program ] [ Propose Tags ]

Game originally designed by Reiner Knizia In this implementation you play against the computer.

[Skip to Readme]


Versions 0.1, 0.2
Dependencies array, base (==3.*), containers, haskell98, mtl, wx (>=0.11), wxcore (>=0.11) [details]
License GPL
Copyright (c) 2009 Pedro Vasconcelos
Author Pedro Vasconcelos
Category Game
Home page
Uploaded Wed Nov 18 11:49:29 UTC 2009 by PedroVasconcelos
Distributions NixOS:0.2
Executables lostcities
Downloads 811 total (13 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-31 [all 6 reports]
Hackage Matrix CI


Maintainer's Corner

For package maintainers and hackage trustees

Readme for lostcities-0.1

[back to package description]
Lost Cities

This is an implementation of a short two-player card game
in Haskell using the wxWidgets GUI toolkit.
This program allows you to play against a computer AI using
a minimax algorithm with alpha-beta prunning (based on
Bird and Wadler's presentation in the "Introduction
to Functional Programming"). 

The game is played with a deck of cards numbered from 2 to 10
in 5 colors plus 3 "investment" cards for each color (marked with a 
multiplication sign). The game progressed by playing cards
in columns of same colors of increasing value ("expeditions"); 
starting a new expedition costs -20 points and the played
cards are summed; the investment cards multiply the result
(positive or negative).

Crucially, the computer AI does not "cheat": unknown information
(i.e., the opponents hand and draw deck) is hidden
by considering possible scenarios that are compatible
with the known information. It seems to play only moderately well,
but still better than some online AI opponents I tried.

For more details check the Boardgamegeek page:

If you have any comments please drop me a line,

Pedro Vasconcelos
Department of Computer Science
Faculty of Science, University of Porto, Portugal