NAME
Games::Cards::Bridge::Chicago - Object for Bridge (card game) Chicago scoring
VERSION
Version 0.01
SYNOPSIS
This module provides a class for creating Bridge objects for a Chicago game (aka 'Four-Deal Bridge'), including the results and scoring and current state of the game.
sub
show_score {
my
$chi
=
shift
;
printf
"NS = %d \t EW = %d\n"
,
$chi
->NS_score,
$chi
->EW_score;
printf
" Vul: NS = %d \t EW = %d\n"
,
$chi
->NS_vul,
$chi
->EW_vul;
printf
"==COMPLETE==\n"
if
$chi
->complete;
}
my
$chi
= Games::Cards::Bridge::Chicago->new;
show_score(
$chi
);
foreach
my
$opts
(
{
declarer
=>
'N'
,
trump
=>
'H'
,
bid
=>
'4'
,
made
=>
'4'
},
{
declarer
=>
'S'
,
trump
=>
'C'
,
bid
=>
'3'
,
down
=>
'2'
,
dbl
=> 1 },
{
declarer
=>
'E'
,
trump
=>
'N'
,
bid
=>
'3'
,
made
=>
'3'
},
{
declarer
=>
'W'
,
trump
=>
'D'
,
bid
=>
'5'
,
down
=>
'3'
},
){
$chi
->contract(
%$opts
);
show_score(
$chi
);
}
METHODS
new
No parameters needed.
contract
Add a contract to the game. This needs the same arguments as Games::Cards::Bridge::Contract's constructor. This method is also responsible for internally updating the attributes. See also http://www.acbl.org/learn/scoreChicago.html
both_vul
Alias to returns true iff ->we_vul() and ->they_vul().
ATTRIBUTES
These are all auto-calculated/maintained; their current values are available from the accessor method provided by Class::Accessor.
contracts
Array ref holding all the contracts added by the contract() method.
NS_score
Gives the current total North-South score.
they_score
Gives the current total East-West score.
we_vul
Returns true if the North-South side is vulnerable.
they_vul
Returns true if the East-West side is vulnerable.
complete
Returns true if the game has concluded (played 4 hands).
dealer
Returns N E S or W representing the current dealer.
PREREQUISITES
AUTHOR
David Westbrook, <dwestbrook at gmail.com>
BUGS & SUPPORT
See Games::Cards::Bridge::Contract
COPYRIGHT & LICENSE
Copyright 2006 David Westbrook, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.