More Ideas...

  1. Connect Four is a two-player game in which the players first choose a color and then take turns dropping colored discs from the top into a seven-column, six-row vertically suspended grid. The pieces fall straight down, occupying the next available space within the column. The object of the game is to connect four of one's own discs of the same color next to each other vertically, horizontally, or diagonally before your opponent.

    Write a class named ConnectFourGame that implements the game of Connect Four.

    Extensions: Create additional classes to implement the following variants on the Connect Four game:

    • Pop Out: Pop Out starts the same as traditional gameplay, with an empty board and players alternating turns placing their own colored discs into the board. During each turn, a player can either add another disc from the top or, if one has any discs of his or her own color on the bottom row, remove (or "pop out") a disc of one's own color from the bottom. Popping a disc out from the bottom drops every disc above it down one space, changing their relationship with the rest of the board and changing the possibilities for a connection. The first player to connect four of their discs horizontally, vertically, or diagonally wins the game.

    • Pop 10: Before play begins, Pop 10 is set up differently from the traditional game. Taking turns, each player places their opponent's color discs into the slots filling up only the bottom row, then moving on to the next row until it is filled and so forth until all rows have been filled.
      Gameplay works by players taking turns removing a disc of one's own color through the bottom of the board. If the disc that was removed was part of a four-disc connection at the time of its removal, the player sets it aside out of play and immediately takes another turn. If it was not part of a "connect four", then it must be placed back on the board through a slot at the top into any open space and the turn ends, switching to the other player. The first player to set aside ten discs of his or her color wins the game.

  2. Write a class named CrapsGame that implements the game of Craps

  3. Write a class named MastermindGame that implements the game of Mastermind

  4. Write a class named CentralLimitTheoremDemonstrator that creates a histogram of sample means of a given sample size taken from a population with a random-shaped distribution.