#!/usr/bin/perl -w # This is part of the YARRG website. YARRG is a tool and website # for assisting players of Yohoho Puzzle Pirates. # # Copyright (C) 2009 Ian Jackson # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # # Yohoho and Puzzle Pirates are probably trademarks of Three Rings and # are used without permission. This program is not endorsed or # sponsored by Three Rings. use strict (qw(vars)); use CommodsDatabase; my $ocean= shift @ARGV; db_setocean($ocean); db_connect(); my $islands= $dbh->selectall_arrayref(' SELECT islandid,islandname FROM islands; '); my $routes= $dbh->selectall_arrayref(' SELECT aiid, biid, dist FROM routes; '); $dbh->disconnect(); #use Data::Dumper; #print Dumper($results); print "strict graph $ocean {\n"; print " splines=true;\n"; print " nslimit=10;\n"; print " mclimit=10;\n"; foreach my $row (@$islands) { my ($id,$str) = @$row; $str =~ s/[\"\\]/\\$&/g; print " n$id [ label=\"$str\" ];\n"; } foreach my $row (@$routes) { my ($ia,$ib,$dist) = @$row; print " n$ia -- n$ib [ w=".(1.0/($dist*$dist)).", len=".(0.5*$dist+1).", label=$dist ];\n"; #len=$dist, minlen=$dist, , , #w=".(1.0/$dist).", } print "}\n";