Hi Roy.
Yes I do call hole::new in the code I omitted. Below is
that code ...
sub new {
my ($pkg, $holes, $level) = @_;
unless ( $holes ) {
#
# create the holes
#
my $holeLevel = 0;
for ( my $i=0; $i<15; $i++ ) {
if ( $i > 0 ) { $holeLevel = 1; }
if ( $i > 2 ) { $holeLevel = 2; }
if ( $i > 5 ) { $holeLevel = 3; }
if ( $i > 9 ) { $holeLevel = 4; }
#
# the 5th hole is usaully has no peg initially.
#
$holes->[$i] = new hole( ( $i == 4 ) ? 'white' : 'black' ,
+ $i, $holeLevel );
}
#
# link the holes
#
$holes->[0]->setLinks( [ $holes->[1], $holes->[2] ] );
$holes->[1]->setLinks( [ $holes->[0], $holes->[2], $holes->[3]
+, $holes->[4] ] );
$holes->[2]->setLinks( [ $holes->[0], $holes->[1], $holes->[4]
+, $holes->[5] ] );
$holes->[3]->setLinks( [ $holes->[1], $holes->[4], $holes->[6]
+, $holes->[7] ] );
$holes->[4]->setLinks( [ $holes->[1], $holes->[2], $holes->[3]
+, $holes->[5], $holes->[7], $holes->[8] ] );
$holes->[5]->setLinks( [ $holes->[2], $holes->[4], $holes->[8]
+, $holes->[9] ] );
$holes->[6]->setLinks( [ $holes->[3], $holes->[7], $holes->[10
+], $holes->[11] ] );
$holes->[7]->setLinks( [ $holes->[3], $holes->[4], $holes->[6]
+, $holes->[8], $holes->[11], $holes->[12] ] );
$holes->[8]->setLinks( [ $holes->[4], $holes->[5], $holes->[7]
+, $holes->[9], $holes->[12], $holes->[13] ] );
$holes->[9]->setLinks( [ $holes->[5], $holes->[8], $holes->[13
+], $holes->[14] ] );
$holes->[10]->setLinks( [ $holes->[6], $holes->[11] ] );
$holes->[11]->setLinks( [ $holes->[6], $holes->[7], $holes->[1
+0], $holes->[12] ] );
$holes->[12]->setLinks( [ $holes->[7], $holes->[8], $holes->[1
+1], $holes->[13] ] );
$holes->[13]->setLinks( [ $holes->[8], $holes->[9], $holes->[1
+2], $holes->[14] ] );
$holes->[14]->setLinks( [ $holes->[9], $holes->[13] ] );
}
my $obj = bless {
holes => $holes, # ref to array of holes
level => defined( $level ) ? $level : 0
}, $pkg;
return $obj;
}
What do you think of the line ...
$holes->[$i] = new hole( ( $i == 4 ) ? 'white' : 'black' , $i, $holeLe
+vel );
... could that be the problem?
| Plankton: 1% Evil, 99% Hot Gas. |
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.