File Coverage

lib/Games/Checkers/Player.pm
Criterion Covered Total %
statement 9 18 50.0
branch 0 2 0.0
condition n/a
subroutine 3 6 50.0
pod 0 3 0.0
total 12 29 41.3


line stmt bran cond sub pod time code
1             # Games::Checkers, Copyright (C) 1996-2012 Mikhael Goikhman, migo@cpan.org
2             #
3             # This program is free software: you can redistribute it and/or modify
4             # it under the terms of the GNU General Public License as published by
5             # the Free Software Foundation, either version 3 of the License, or
6             # (at your option) any later version.
7             #
8             # This program is distributed in the hope that it will be useful,
9             # but WITHOUT ANY WARRANTY; without even the implied warranty of
10             # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11             # GNU General Public License for more details.
12             #
13             # You should have received a copy of the GNU General Public License
14             # along with this program. If not, see .
15              
16 1     1   5 use strict;
  1         1  
  1         27  
17 1     1   5 use warnings;
  1         1  
  1         25  
18              
19             package Games::Checkers::Player;
20              
21 1     1   430 use Games::Checkers::PlayerConstants;
  1         2  
  1         6  
22              
23             # static method
24             sub create ($$$) {
25 0     0 0   my ($type, $color, $level) = @_;
26 0 0         my $class = "Games::Checkers::" . ($type == User ? "User" : "Comp") . "Player";
27 0           return $class->new($color, $level);
28             }
29              
30             sub new ($$$) {
31 0     0 0   my $class = shift;
32 0           my $color = shift;
33 0           my $level = shift;
34              
35 0           my $self = {
36             color => $color,
37             level => $level,
38             move_status => MoveDone,
39             };
40 0           return bless $self, $class;
41             }
42              
43 0     0 0   sub do_move ($) { die __PACKAGE__ . ": pure virtual method is called"; }
44              
45             1;