Game.java


Below is the syntax highlighted version of Game.java from §3.5 Inheritance.


/******************************************************************************
 *  Compilation:  javac Game.java
 *  Execution:    java -cp .:cards.jar Game
 *  Dependencies: Player.java Card.java Deck.java StdDraw.java
 *
 *
 ******************************************************************************/

public class Game {

    public static void main(String[] args) {

        // create deck and shuffle it
        Deck deck = new Deck();
        deck.shuffle();
        StdOut.println(deck);

        // create 4 players
        Player N = new Player("North", 300, 375);
        Player E = new Player("East ", 550, 225);
        Player S = new Player("South", 300,  75);
        Player W = new Player("West ",  50, 225);

        // deal
        while(!deck.isEmpty()) {
            N.dealTo(deck.dealFrom());
            E.dealTo(deck.dealFrom());
            S.dealTo(deck.dealFrom());
            W.dealTo(deck.dealFrom());
        }

        // sort the hands
        N.sort();
        E.sort();
        S.sort();
        W.sort();

        // print everything for debugging
        StdOut.println(N);
        StdOut.println(E);
        StdOut.println(S);
        StdOut.println(W);

        // draw everything with standard draw
        StdDraw.setCanvasSize(810, 450);
        StdDraw.setXscale(0, 810);
        StdDraw.setYscale(0, 450);
        StdDraw.clear(StdDraw.GRAY);
        N.draw();
        E.draw();
        S.draw();
        W.draw();
    }

}


Copyright © 2000–2022, Robert Sedgewick and Kevin Wayne.
Last updated: Thu Aug 11 10:27:11 EDT 2022.