Playing Instructions: Remove all of the tiles from the board by selecting a matching pair and then double-clicking one of the tiles. Tiles that are available for matches (which are indicated with asterisks) are not covered by other tiles or surrounded on the left and right sides.
Java Source: Shanghai.java
HTML Source:
<applet codebase=classes code="Shanghai.class" width=605 height=460> </applet>