Shanghai is a computer game developed by Activision in 1986 for the Amiga, Macintosh and Apple IIGS and also the Sega Master System. It is a computerized version of mahjong solitaire. After winning a game, the tiles reveal the three-dimensional blinking eye of a dragon behind the game screen. The Macintosh and Sega Master System version shows an animated dragon spitting fire.
The 144 tiles are arranged in a special four-layer pattern with their faces upwards. A tile is said to be open or exposed if it can be moved either left or right without disturbing other tiles. The goal is to match open pairs of identical tiles and remove them from the board, exposing the tiles under them for play. The game is finished when all pairs of tiles have been removed from the board or when there are no exposed pairs remaining.
Tiles that are below other tiles cannot be seen. But by repeated undos and/or restarts which some programs offer, one gradually gets more and more information. Sometimes, tiles are only partially covered by other tiles, and the extent to which such tiles can be distinguished depends on the actual tile set. Playing Mahjong solitaire optimally in the sense to maximize the probability of removing all tiles is PSPACE-complete, and the game gets NP-complete when peeking below tiles is allowed. A sample of 10,000,000 games with the default layout, 'the turtle', which were analyzed in about 40 hours on a single processor thread, revealed that between 2.95 and 2.96 percent of the turtles cannot be solved even if peeking is allowed.
More details about this game can be found on