sub getPos{ my ($x,$y,$size)=@_; my $d = $x+$y; my $m = $d-$size; my $p = (($d%2)?$x:$y); my $dist = ($d*($d+1))/2; my $index = $dist + $p; if($d >= $size){ $index -= ($m+1)**2; } }