#! /usr/bin/perl
# Nathaniel James Shaw
use Tk;
$X = 750 ;
$Y = 100 ;
$root = new MainWindow( - title=> 'Perl/Tk example' ) ;
$c = $root -> Canvas ( - width
=> 800 ,- height
=> 800 ,- background
=> 'black' ) -> pack ( ) ; $root -> bind ( "<q>" , \&done ) ;
sub loop
{
print ( "The current random number is $D." ) ;
if ( $D < 0.3 ) { $CurrPtx = $X ; $CurrPty = $Y * 0.16 } ;
if ( ( $D > 0.3 ) && ( $D < 0.14 ) ) { $CurrPtx = 0.2 *$X - 0.26 *$Y ; $CurrPty = 0.23 *$X + 0.2 *$Y + 0.44 } ;
if ( ( $D > 0.14 ) && ( $D < 0.27 ) ) { $CurrPtx = - ( 0.15 *$X ) + 0.28 *$Y ; $CurrPty = 0.26 *$X + 0.24 *$Y + 1.6 } ;
if ( ( $D > 0.27 ) && ( $D < 1.00 ) ) { $CurrPtx = 0.85 *$X + 0.04 *$Y ; $CurrPty = - ( 0.04 *$X ) + 0.85 *$Y + 1.6 } ;
$CurrPtx = $CurrPtx * 5 ;
$CurrPty = $CurrPty * 5 ;
$c -> createLine ( $CurrPtx , $CurrPty , $CurrPtx + 1 , $CurrPty + 1 ,- fill=> 'green' ) ;
print ( "The current coords are these: $CurrPtx, $CurrPty.\n " ) ;
$X = $CurrPtx ;
$Y = $CurrPty ;
}
print "Triangle Created.\n " ; print "Press q at any time to quit.\n " ;
sub done
{ 'Here Is Your Triangle.\n' ; exit ( ) ; } ;
$root -> repeat ( 1 , \&loop ) ;
MainLoop;
IyEgL3Vzci9iaW4vcGVybAojIE5hdGhhbmllbCBKYW1lcyBTaGF3Cgp1c2UgVGs7CgokWCA9IDc1MDsKJFkgPSAxMDA7Cgokcm9vdCA9IG5ldyBNYWluV2luZG93KC10aXRsZT0+J1BlcmwvVGsgZXhhbXBsZScpOwokYyA9ICRyb290LT5DYW52YXMoLXdpZHRoPT44MDAsLWhlaWdodD0+ODAwLC1iYWNrZ3JvdW5kPT4nYmxhY2snKS0+cGFjaygpOwokcm9vdC0+YmluZCgiPHE+IiwgXCZkb25lKTsKCgpzdWIgbG9vcAp7CgokRCA9IHJhbmQoKTsKCnByaW50ICgiVGhlIGN1cnJlbnQgcmFuZG9tIG51bWJlciBpcyAkRC4iKTsKCmlmICgkRCA8IDAuMykgeyRDdXJyUHR4ID0gJFg7ICRDdXJyUHR5ID0gJFkqMC4xNn07CmlmICgoJEQgPiAwLjMpJiYoJEQgPCAwLjE0KSkgeyRDdXJyUHR4ID0gMC4yKiRYIC0gMC4yNiokWTsgJEN1cnJQdHkgPSAwLjIzKiRYICsgMC4yKiRZICswLjQ0fTsKaWYgKCgkRCA+IDAuMTQpJiYoJEQgPCAwLjI3KSkgeyRDdXJyUHR4ID0gLSgwLjE1KiRYKSArIDAuMjgqJFk7ICRDdXJyUHR5ID0gMC4yNiokWCArIDAuMjQqJFkgKyAxLjZ9OwppZiAoKCREID4gMC4yNykmJigkRCA8IDEuMDApKSB7JEN1cnJQdHggPSAwLjg1KiRYICsgMC4wNCokWTsgJEN1cnJQdHkgPSAtKDAuMDQqJFgpICsgMC44NSokWSArIDEuNn07CgoKJEN1cnJQdHggPSAkQ3VyclB0eCo1OwokQ3VyclB0eSA9ICRDdXJyUHR5KjU7CgokYy0+Y3JlYXRlTGluZSgkQ3VyclB0eCwkQ3VyclB0eSwkQ3VyclB0eCsxLCRDdXJyUHR5KzEsLWZpbGw9PidncmVlbicpOwoKcHJpbnQgKCJUaGUgY3VycmVudCBjb29yZHMgYXJlIHRoZXNlOiAkQ3VyclB0eCwgJEN1cnJQdHkuXG4iKTsKCiRYID0gJEN1cnJQdHg7CiRZID0gJEN1cnJQdHk7Cgp9CgpwcmludCAiVHJpYW5nbGUgQ3JlYXRlZC5cbiI7CnByaW50ICJQcmVzcyBxIGF0IGFueSB0aW1lIHRvIHF1aXQuXG4iOwoKc3ViIGRvbmUgeydIZXJlIElzIFlvdXIgVHJpYW5nbGUuXG4nOyBleGl0KCk7fTsKCgokcm9vdC0+cmVwZWF0KDEsIFwmbG9vcCk7CgpNYWluTG9vcDsK