From 815018427f47f1654b7608c268970d597b9bb83b Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Fri, 7 Aug 2026 18:52:10 -0400 Subject: [PATCH] Dynamically determine minimum length of longest side --- src/c/triangles.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/c/triangles.c b/src/c/triangles.c index 8322e03..2bb5d05 100644 --- a/src/c/triangles.c +++ b/src/c/triangles.c @@ -79,11 +79,10 @@ TriangleLayer *triangle_layer_create(GRect frame, GColor color) { if (sin_C > max_sin) max_sin = sin_C; -// longest side randomly chosen -#define MIN_SIDE 40 - uint16_t max_side = (frame.size.w < frame.size.h) ? frame.size.w : frame.size.h; - max_side = max_side - 12; // basic margin - uint16_t largest_side = MIN_SIDE + (rand() % (max_side - MIN_SIDE + 1)); + // longest side randomly chosen + uint16_t min_length_of_longest_side = (frame.size.w < frame.size.h) ? frame.size.w / 2 : frame.size.h / 2; + uint16_t max_length_of_longest_side = (frame.size.w < frame.size.h) ? frame.size.w : frame.size.h; + uint16_t largest_side = min_length_of_longest_side + (rand() % (max_length_of_longest_side - min_length_of_longest_side + 1)); tri->side_a = (uint16_t)(((uint32_t)sin_A * largest_side) / (uint32_t)max_sin); tri->side_b = (uint16_t)(((uint32_t)sin_B * largest_side) / (uint32_t)max_sin);