in reply to Tk - Discipulus 15 puzzle
A long time ago in a galaxy (oops, no, a city) far, far away, I wrote this as
one of my first Tk programs.
Initially it was slightly longer, but then I squeezed a little (hehehe) to see if I
could get a
"15 in 15(lines)" program.
#!/usr/bin/perl use Tk; use strict; my @a = map $_->[0], sort {$a->[1] <=> $b->[1]} map [$_, rand], 0..15; my ($mw, $hole) = new MainWindow; sub xy { -row => $_[0] % 4, -column => int $_[0] / 4 } for my $ii (0..15) { my ($num, $i, $but) = ($a[$ii], $ii); $hole = $i, next unless $num; $but = $mw->Button(-text => $num, -width => 2, -height => 2, -comman +d => sub { $but->grid(xy(($i,$hole) = ($hole,$i))) if abs $i - $hole == 4 or abs $i - $hole == 1 and int $i/4 == int $hole/4 })->grid(xy $i); } MainLoop;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Tk - Discipulus 15 puzzle -- minimalist challenge
by Discipulus (Canon) on Jun 15, 2017 at 14:31 UTC | |
by tybalt89 (Monsignor) on Jun 15, 2017 at 17:12 UTC | |
Re^2: Tk - Discipulus 15 puzzle
by zentara (Cardinal) on Jun 14, 2017 at 16:05 UTC |