aboutsummaryrefslogtreecommitdiff
path: root/challenge-123/abigail/go
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.be>2021-07-28 18:13:24 +0200
committerAbigail <abigail@abigail.be>2021-07-28 18:13:24 +0200
commita42addb6a561d57e470cfed7828109bbfba040fb (patch)
treec18527120e6a1f8a71e04910bc03ccc7d1e5fffa /challenge-123/abigail/go
parentbd9797e1d52dc5b0853bc5400f04f477ffd6a4cb (diff)
downloadperlweeklychallenge-club-a42addb6a561d57e470cfed7828109bbfba040fb.tar.gz
perlweeklychallenge-club-a42addb6a561d57e470cfed7828109bbfba040fb.tar.bz2
perlweeklychallenge-club-a42addb6a561d57e470cfed7828109bbfba040fb.zip
Use methods to factor out calculations.
Diffstat (limited to 'challenge-123/abigail/go')
-rw-r--r--challenge-123/abigail/go/ch-2.go17
1 files changed, 9 insertions, 8 deletions
diff --git a/challenge-123/abigail/go/ch-2.go b/challenge-123/abigail/go/ch-2.go
index 37d275d5dc..6a287f6d73 100644
--- a/challenge-123/abigail/go/ch-2.go
+++ b/challenge-123/abigail/go/ch-2.go
@@ -12,22 +12,23 @@ import (
"fmt"
)
+func dist (x1 int, y1 int, x2 int, y2 int) int {
+ return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
+}
+
func main () {
- var x1, y1, x2, y2, x3, y3, x4, y4, e1, e2, e3, e4, d1, d2 int;
+ var x1, y1, x2, y2, x3, y3, x4, y4 int;
for {
var n, err = fmt . Scanf ("%d %d %d %d %d %d %d %d",
&x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4);
if (err != nil || n != 8) {
break;
}
- e1 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
- e2 = (x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3);
- e3 = (x3 - x4) * (x3 - x4) + (y3 - y4) * (y3 - y4);
- e4 = (x4 - x1) * (x4 - x1) + (y4 - y1) * (y4 - y1);
- d1 = (x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3);
- d2 = (x2 - x4) * (x2 - x4) + (y2 - y4) * (y2 - y4);
- if (e1 == e2 && e2 == e3 && e3 == e4 && d1 == d2) {
+ if (dist (x1, y1, x2, y2) == dist (x2, y2, x3, y3) &&
+ dist (x2, y2, x3, y3) == dist (x3, y3, x4, y4) &&
+ dist (x3, y3, x4, y4) == dist (x4, y4, x1, y1) &&
+ dist (x1, y1, x3, y3) == dist (x2, y2, x4, y4)) {
fmt . Printf ("%d\n", 1);
} else { // Seriously, go, else needs to be cuddled?
fmt . Printf ("%d\n", 0);