Shanghai

29K plays 1986 #Puzzle

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.

Text: Wikipedia via RetroGames.cz, licensed under CC BY-SA 3.0

Keyboard controls

NESPlayer 1Player 2
D-pad↑↓←→IKJL
BZN
AXM
SelectShiftB
StartEnterSpace

Hotkeys

  • 1 Quick save state
  • 2 Quick load state
  • 3 Change save slot

Gamepads are detected when you press a button. Remap any key from the emulator’s Controls menu (gear icon).

Emulator help & troubleshooting

Comments

Live chat

Connecting…

Chatting as a guest · Sign in to use your name
0/300

Keyboard controls

NESPlayer 1Player 2
D-pad↑↓←→IKJL
BZN
AXM
SelectShiftB
StartEnterSpace

Hotkeys

  • 1 Quick save state
  • 2 Quick load state
  • 3 Change save slot

Gamepads are detected when you press a button. Remap any key from the emulator’s Controls menu (gear icon).

Emulator help & troubleshooting

Save to...