Designate a theta angle
This commit is contained in:
+3
-3
@@ -561,7 +561,7 @@ static void alarm_window_load() {
|
||||
uint8_t ignored_side = rand() % 3;
|
||||
switch (ignored_side) {
|
||||
case 0:
|
||||
APP_LOG(APP_LOG_LEVEL_DEBUG, "b,c");
|
||||
// APP_LOG(APP_LOG_LEVEL_DEBUG, "b,c");
|
||||
snprintf(side_b_buffer, sizeof(side_b_buffer), "%u", s_triangle_layer->side_b);
|
||||
snprintf(side_c_buffer, sizeof(side_c_buffer), "%u", s_triangle_layer->side_c);
|
||||
s_options_over[0] = side_b_buffer;
|
||||
@@ -570,7 +570,7 @@ static void alarm_window_load() {
|
||||
s_options_under[1] = side_c_buffer;
|
||||
break;
|
||||
case 1:
|
||||
APP_LOG(APP_LOG_LEVEL_DEBUG, "a,c");
|
||||
// APP_LOG(APP_LOG_LEVEL_DEBUG, "a,c");
|
||||
snprintf(side_a_buffer, sizeof(side_a_buffer), "%u", s_triangle_layer->side_a);
|
||||
snprintf(side_c_buffer, sizeof(side_c_buffer), "%u", s_triangle_layer->side_c);
|
||||
s_options_over[0] = side_a_buffer;
|
||||
@@ -579,7 +579,7 @@ static void alarm_window_load() {
|
||||
s_options_under[1] = side_c_buffer;
|
||||
break;
|
||||
case 2:
|
||||
APP_LOG(APP_LOG_LEVEL_DEBUG, "a,b");
|
||||
// APP_LOG(APP_LOG_LEVEL_DEBUG, "a,b");
|
||||
snprintf(side_a_buffer, sizeof(side_a_buffer), "%u", s_triangle_layer->side_a);
|
||||
snprintf(side_b_buffer, sizeof(side_b_buffer), "%u", s_triangle_layer->side_b);
|
||||
s_options_over[0] = side_a_buffer;
|
||||
|
||||
+7
-2
@@ -30,6 +30,10 @@ static void right_triangle_layer_update_proc(Layer *layer, GContext *ctx) {
|
||||
graphics_draw_line(ctx, GPoint(start_x, base_y), GPoint(end_x, base_y));
|
||||
graphics_draw_line(ctx, GPoint(start_x, base_y), GPoint(apex_x, apex_y));
|
||||
graphics_draw_line(ctx, GPoint(end_x, base_y), GPoint(apex_x, apex_y));
|
||||
|
||||
// circle theta angle
|
||||
graphics_context_set_stroke_color(ctx, GColorRed);
|
||||
graphics_draw_circle(ctx, GPoint(tri->theta_angle_is_left ? start_x : end_x, base_y), 3);
|
||||
}
|
||||
|
||||
RightTriangleLayer *right_triangle_layer_create(GRect frame, GColor color) {
|
||||
@@ -41,9 +45,10 @@ RightTriangleLayer *right_triangle_layer_create(GRect frame, GColor color) {
|
||||
tri->color = color;
|
||||
|
||||
// determine angles
|
||||
tri->angle_A = 90;
|
||||
tri->angle_B = rand() % 86; // acute angle at left base vertex
|
||||
tri->angle_A = 90; // right angle at apex
|
||||
tri->angle_B = 5 + rand() % 81; // acute angle at left base vertex
|
||||
tri->angle_C = 90 - tri->angle_B; // acute angle at right base vertex
|
||||
tri->theta_angle_is_left = rand() % 2;
|
||||
|
||||
// choose hypotenuse length randomly
|
||||
uint16_t min_hyp = (frame.size.w < frame.size.h) ? frame.size.w / 2 : frame.size.h / 2;
|
||||
|
||||
@@ -14,6 +14,9 @@ typedef struct {
|
||||
uint16_t side_a;
|
||||
uint16_t side_b;
|
||||
uint16_t side_c;
|
||||
|
||||
// determines which angle the user needs to solve for
|
||||
bool theta_angle_is_left;
|
||||
} __attribute__((__packed__)) RightTriangleLayer;
|
||||
|
||||
RightTriangleLayer *right_triangle_layer_create(GRect frame, GColor color);
|
||||
|
||||
Reference in New Issue
Block a user