Games::Bingo::Card - a helper class for Games::Bingo
use Games::Bingo::Card; my $b = Games::Bingo-E<gt>new(90); my $card = Games::Bingo::Card-E<gt>new($b); my $bingo = Games::Bingo-E<gt>new(90); $card-E<gt>validate($bingo); use Games::Bingo::Card; my $p = Games::Bingo::Card-E<gt>new(); $p-E<gt>populate();
The Games::Bingo::Card class suits the simple purpose of being able to generate bingo cards and validating whether they are valid in during a game where a player indicate victory.
It is also used by Games::Bingo::Print to hold the generated bingo cards before they are printed.
This method generates an object representing a bingo card.
The constructor, takes no arguments.
This method is the main method of the class. It populates the card objects with a predefined number of randomly picked numbers which can be printed using the Games::Bingo::Print class.
Init uses the function in Games::Bingo::Column and Games::Bingo::ColumnCollection, which are use to generate the necessary random numbers to generate the card and set the them in the necessary columns.
This is the private method which is used to insert numbers onto the card in the Bingo::Games::Card class.
Populate takes to arguments, the row and the number, it resolves the column using _resolve_column.
Resolve column is method used to resolve where on the card a specified number should go. It takes a number and returns an integer indicating a column.
This method is a part of the work-around, which was made in the populate method, it checks whether the populated card holds 12 numbers return a boolean value indicating succes or failure.
This method can validate a bingo card against a game. So it easily can be examined whether a player/card has bingo.
The method takes one argument, the Games::Bingo object of the current game.
This method does not hold the same flaw as the method above though.
This is the console version of the _print_card version, which is implemented in Games::Bingo::Print.
It prints the generated card with numbers.
This method can be used to flush the contents of the Card object.
Returns all the numbers contained in the _array attribute as an array.
This class contains a bug in populate, which is regarded a design flaw. A work-around have implemented. See the BUGS file.
No other bugs are known at the time of writing.
The TODO file contains a complete list for the whole Games::Bingo project.
Jonas B. Nielsen, (jonasbn) - <jonasbn@cpan.org>
<jonasbn@cpan.org>
Games-Bingo is (C) by Jonas B. Nielsen, (jonasbn) 2003-2015
Games-Bingo is released under the artistic license 2.0
To install Games::Bingo, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Games::Bingo
CPAN shell
perl -MCPAN -e shell install Games::Bingo
For more information on module installation, please visit the detailed CPAN module installation guide.