From 9306cb60c32082c5403931de0823a9fd5daa196c Mon Sep 17 00:00:00 2001 From: Jason Katz-Brown Date: Sun, 25 Aug 2013 02:17:13 -0700 Subject: Initial git commit. --- .../perl_tools/generate_tileset.pl | 103 +++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100755 new_language_generation/perl_tools/generate_tileset.pl (limited to 'new_language_generation/perl_tools/generate_tileset.pl') diff --git a/new_language_generation/perl_tools/generate_tileset.pl b/new_language_generation/perl_tools/generate_tileset.pl new file mode 100755 index 0000000..0df2e3b --- /dev/null +++ b/new_language_generation/perl_tools/generate_tileset.pl @@ -0,0 +1,103 @@ +#!/usr/bin/perl + +use warnings; +use strict; + +use Getopt::Long; +use Pod::Usage; + +my $alphabet_filename = 'undef'; +my $help = 0; + +GetOptions('alphabet=s' => \$alphabet_filename, + 'help|?' => \$help) or pod2usage(2); + +pod2usage(1) if $help; + +=pod + +=head1 NAME + +generate_tileset.pl - Print out HTML tileset + +=head1 SYNOPSIS + +--alphabet= + output of generate_alphabet.pl + +=cut + +binmode STDOUT, ':utf8'; + +# tiles{count}{letter} = score +my %tiles; + +sub read_alphabet { + if ($alphabet_filename eq 'undef') { + return; + } + + open (my $input, "<:encoding(utf8)", $alphabet_filename); + + my $i = 0; + while (<$input>) { + chomp; + next if (/^\#/); + + my ($letter, $blank_text, $score, $count) = split /\s/, $_; + + if ($letter eq 'blank') { + $tiles{$score}{" "} = 0; + next; + } + + next if (! defined $count); + + $letter =~ s/\|//g; + $tiles{$count}{$letter} = $score; + } +} + +sub spit_characters { + my $fontsize = "1.2cm"; + my $score_fontsize = "18pt"; + #my $color="#458B74"; + #my $color="black"; + #my $color="#EAC117"; + my $color="darkblue"; + my $width = "5in"; + my $height = "0"; + + print "\n\n\n\n\n"; + + print "\n"; + + print ""; + my $already_in_row = 0; + for my $count (sort keys %tiles) { + for my $letter (sort keys %{$tiles{$count}}) { + for my $i (1 .. $count) { + if ($already_in_row >= 10) { + print "\n"; + $already_in_row = 0; + } + + my $score = $tiles{$count}{$letter}; + my $align = 'center'; + print "\n"; + + ++$already_in_row; + } + } + } + print "\n"; + + print "
\n"; + print "$letter"; + print "$score"; + print "
\n"; + print "\n\n"; +} + +read_alphabet(); +spit_characters(); -- cgit v1.2.3