Welcome to HBH! If you had an account on hellboundhacker.org you will need to reset your password using the Lost Password system before you will be able to login.

Crossword Puzzle Generator - Perl Code Bank


Crossword Puzzle Generator
Just a bit of perl.
                #!perl -w
use strict;

open GRID, '>grid.html' or die $!;
select GRID;

print "<HTML><BODY>\n";

my $cellwidth = '20'; # pixel or percent
my $cellheight = '4'; #pixels only
my $counter = "0";

sub Solid
{
     return "<TD WIDTH='$cellwidth' HEIGHT='$cellheight' ".
            "BGCOLOR='BLACK'>&nbsp;</TD>\n";
}

sub Open
{
     return "<TD WIDTH='$cellwidth' HEIGHT='$cellheight' ".
            "BGCOLOR='WHITE'>&nbsp;</TD>\n";
}

sub Numbered
{
++$counter;
     return "<TD WIDTH='$cellwidth' HEIGHT='$cellheight' BGCOLOR='WHITE' ".
            "ALIGN='LEFT' VALIGN='TOP'><FONT SIZE=-2>$counter</FONT></TD>\n";
}

# 0 = black box 1 = white box 2 = nnumbered box
my @type = ( \&Solid, \&Open, \&Numbered );
my @line = (
'020000002000002000000000000',
'010200201021111110000020000',
'010100101000001002111110000',
'010102111121111111000010020',
'010100000010001001000202010',
'211121111110001021111101010',
'100010000010001001000101010',
'100010212111001002111111110',
'100010001010000001000101010',
'100010001000021111120001010',
'102111001000000000010001010',
'101010211000000000010200200',
'101010001000000000211111111',
'101010000000211111010100100',
'102211111111100000000100100',
'100100000000102020000100100',
'000100000000101010000100100',
'002111000211111111100000000',
'000000000000101000000000000',
'000000211111111000000000000',
);

print "<TABLE BORDER=1 SHADE=0>\n";
foreach ( @line )
{
     print "<TR>\n";
     print map { &{$type[$_]} } split //;
     print "</TR>";
}
print "\n</TABLE>\n\n";

            
Comments
rex_mundi's avatar
rex_mundi 10 years ago

thumbs up