Introduction to OOP: Chapter 8: The Solitaire Game
[next]
[previous]
[audio]
[real]
[text]
The Game Class
public class Solitaire extends Applet {
	static DeckPile deckPile;
	static DiscardPile discardPile;
	static TablePile tableau [ ];
	static SuitPile suitPile [ ];
	static CardPile allPiles [ ];
	public void init() {
			// first allocate the arrays
		allPiles = new CardPile[13];
		suitPile = new SuitPile[4];
		tableau = new TablePile[7];
			// then fill them in
		allPiles[0] = deckPile = new DeckPile(335, 5);
		allPiles[1] = discardPile = new DiscardPile(268, 5);
		for (int i = 0; i < 4; i++)
			allPiles[2+i] = suitPile[i] =
				new SuitPile(15 + 60 * i, 5);
		for (int i = 0; i < 7; i++)
			allPiles[6+i] = tableau[i] =
				new TablePile(5 + 55 * i, 80, i+1); 
		}
	public void paint(Graphics g) {
		for (int i = 0; i < 13; i++)
			allPiles[i].display(g);
		}
	public boolean mouseDown(Event evt, int x, int y) {
		for (int i = 0; i < 13; i++)
			if (allPiles[i].includes(x, y)) {
				allPiles[i].select(x, y);
				repaint();
				return true;
				}
		return true;
		}
}
Intro OOP, Chapter 8, Slide 21
This applet uses Java 1.0.3.  Note that the techniques used to respond to
events changed starting with Java 1.1.  A more recent version of this
application can be found from the links found on the
first slide.