diff options
| author | Abigail <abigail@abigail.be> | 2021-07-28 18:13:24 +0200 |
|---|---|---|
| committer | Abigail <abigail@abigail.be> | 2021-07-28 18:13:24 +0200 |
| commit | a42addb6a561d57e470cfed7828109bbfba040fb (patch) | |
| tree | c18527120e6a1f8a71e04910bc03ccc7d1e5fffa /challenge-123/abigail/go | |
| parent | bd9797e1d52dc5b0853bc5400f04f477ffd6a4cb (diff) | |
| download | perlweeklychallenge-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.go | 17 |
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); |
