diff options
| -rwxr-xr-x | challenge-152/luca-ferrari/raku/ch-2.p6 | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/challenge-152/luca-ferrari/raku/ch-2.p6 b/challenge-152/luca-ferrari/raku/ch-2.p6 index 051e63023b..65be181aea 100755 --- a/challenge-152/luca-ferrari/raku/ch-2.p6 +++ b/challenge-152/luca-ferrari/raku/ch-2.p6 @@ -15,7 +15,19 @@ class Rectangle { * abs( $!corner-right.y - $!corner-left.y ); } + + method !is-overlapping( Rectangle $r ) { + ( $!corner-left.x <= $r.corner-left.x <= $!corner-right.x + || $!corner-left.x <= $r.corner-righ.x <= $!corner-right.x ) + && + ( $!corner-left.y <= $r.corner-left.y <= $!corner-right.y + || $!corner-left.y <= $r.corner-right.y <= $!corner-right.y ); + + } + method overlapping-area( Rectangle $r ) { + return 0 if ! self!is-overlapping( $r ); + my $left = Point.new( x => max( $!corner-left.x, $r.corner-left.x ), y => max( $!corner-left.y, $r.corner-left.y ) ); |
