Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Games::Cards::Bridge::Rubber
Object for Bridge Rubber scoring

Games::Cards::Bridge::Rubber - Object for Bridge Rubber scoring



NAME

Games::Cards::Bridge::Rubber - Object for Bridge (card game) Rubber scoring


VERSION

Version 0.01


SYNOPSIS

This module provides a class for creating Bridge rubber objects, including the results and scoring and current state of the rubber.


  use Games::Cards::Bridge::Rubber;

  sub show_score {

    my $rubber = shift;

    printf "Totals (above/below): We = %d/%d \t They = %d/%d\n", $rubber->we_above, $rubber->we_below, $rubber->they_above, $rubber->they_below; 

    printf "  Legs:  We = %d \t They = %d\n", $rubber->we_leg, $rubber->they_leg;

    printf "  Vul:  We = %d \t They = %d\n", $rubber->we_vul, $rubber->they_vul;

    printf "==COMPLETE==\n\tWe: %d\tThey: %d\n", $rubber->we_score, $rubber->they_score if $rubber->complete;

  }

  my $rubber = Games::Cards::Bridge::Rubber->new;

  show_score($rubber);

  foreach my $opts (

    { direction => 'we', trump => 'H', bid => '2', made => '4' },

    { direction => 'they', trump => 'S', bid => '4', down => '2', dbl => 1 },

    { direction => 'they', trump => 'N', bid => '3', made => '4' },

    { direction => 'they', trump => 'S', bid => '3', made => '3' },

    { direction => 'they', trump => 'D', bid => '2', down => '2'  },

    { direction => 'we', trump => 'H', bid => '6', made => '7', dbl => 1 },

    { direction => 'they', trump => 'N', bid => '1', made => '2' },

    { direction => 'we', trump => 'C', bid => '3', made => '3' },

    { direction => 'they', trump => 'H', bid => '3', made => '3' },

  ){

    $rubber->contract( %$opts );

    show_score($rubber);

  }


METHODS

new

No parameters needed.

contract

Add a contract to the rubber. This needs the same arguments as the Games::Cards::Bridge::Contract manpage's constructor, as well as a direction parameter of 'we' or 'they' (and the declarer parameter is not used). This method is also responsible for internally updating the attributes. See also http://www.acbl.org/learn/scoreRubber.html

we_score

Gives the current total 'We' score.

they_score

Gives the current total 'They' score.

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 the Class::Accessor manpage.

contracts

Array ref holding all the contracts added by the contract() method.

we_above

Current above-the-line score for 'We'.

we_below

Current below-the-line score for 'We'.

we_leg

The current ``leg'' for 'We'.

they_leg

The current ``leg'' for 'They'.

they_above

Current above-the-line score for 'They'.

they_below

Current below-the-line score for 'They'.

we_vul

Returns true if the 'We' side is vulnerable (has one ``game'').

they_vul

Returns true if the 'They' side is vulnerable (has one ``game'').

complete

Returns true if the rubber has concluded (one side got two ``games'').


PREREQUISITES


TODO

  • Handle honors bonuses


AUTHOR

David Westbrook, <dwestbrook at gmail.com>


BUGS & SUPPORT

See the Games::Cards::Bridge::Contract manpage


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.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy