User Tools

Site Tools


bingo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
bingo [2021/05/02 11:01] frchrisbingo [2021/05/06 14:30] frchris
Line 42: Line 42:
  
 The ''BingoCard'' class will need: The ''BingoCard'' class will need:
-  - a 2-D array of BingoCells +  - the line ''import java.awt.*;'' 
-  - a method that constructs the card so that:+  - a 2-D array of BingoCells called ''board'' 
 +  - a ''top'', ''left'' for the top corner of the board should be drawn 
 +  - a ''size'' for the of the BingoBoard.  The board will be square, because of margins, the size of the BingoCells would be a fraction of the size. 
 +  - a method ''contains(int number)'' that returns true if the number is in board, and false otherwise. 
 +  - a method ''randomInt(int min, int max)'' that returns a random number from min to max, inclusive that is not already on the board (Hint: The number of possible choices would be ''Math.abs(max-min)+1''). 
 +  - 2 Constructors: one that has three parameters (top, left, and size) and another without parameters (that sets the top and left to 0, and the size fo 350). Each  constructor so that the card so that:
       - The "B" column has 5 unique numbers from 1-15       - The "B" column has 5 unique numbers from 1-15
       - The "I" column has 5 unique numbers from 16-30       - The "I" column has 5 unique numbers from 16-30
Line 49: Line 54:
       - The "G" column has 5 unique numbers from 46-60       - The "G" column has 5 unique numbers from 46-60
       - The "O" column has 5 unique numbers from 61-75       - The "O" column has 5 unique numbers from 61-75
-  - a toString method that has no parameters, and returns a string representation of the board that is similar to : {{::bingotext.png?200|}} +  - a toString method that has no parameters, and returns a string representation of the board.  Use ''\n'' to make a newline in the String to get different rows. It should be similar to : {{::bingotext.png?200|}} 
-  - a method 'hasBingo' (that returns a boolean) which detects a win for the rows, columns, and diagonals (later you can overload this with method that takes a parameter for the "blackout," "corners," or "box" variants) +  - a method 'hasBingoSelected' (that returns a boolean) which detects a win for the rows, columns, and diagonals Sometimes there are variants of the game such as "blackout," or "corners," or "box" variants).{{::screen_shot_2021-05-02_at_10.29.23_am.png?600|}}    
-  - a draw method takes a Graphics parameter to draw the board+  - a draw method (that takes a Graphics parameter) which calls all the ''BingoCell''s in ''board'' to draw themselves.
  
 The "Extreme Programming" approach is to begin by writing one or more  client classes of ''BingoBoard'' to test each of these specifications. The first 4 can be done with a text based application, starting off with a simple one like  The "Extreme Programming" approach is to begin by writing one or more  client classes of ''BingoBoard'' to test each of these specifications. The first 4 can be done with a text based application, starting off with a simple one like 
Line 57: Line 62:
 {{::simpletester.png?600|}} {{::simpletester.png?600|}}
  
-The draw method can be tested by a ''BingBoardTester'' that you could start by adapting the ''CellTester'' code.+The draw method can be tested by {{ ::bingoboardtester.java |BingoBoardTester}}  that might look like this: 
 +{{::screen_shot_2021-05-06_at_11.29.45_am.png?600|}}
  
 === 4. BingoGame === === 4. BingoGame ===
bingo.txt · Last modified: 2021/05/10 12:08 by frchris

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki