Display two random side lengths to user
This commit is contained in:
+1
-1
@@ -68,7 +68,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"characterRegex": "[ntype:θ=acuobsrigh¯¹0123456789]",
|
"characterRegex": "[?ntype:θ=acuobsrigh¯¹0123456789]",
|
||||||
"file": "mansalva_regular.ttf",
|
"file": "mansalva_regular.ttf",
|
||||||
"name": "FONT_MANSALVA_REGULAR_22",
|
"name": "FONT_MANSALVA_REGULAR_22",
|
||||||
"type": "font"
|
"type": "font"
|
||||||
|
|||||||
+58
-6
@@ -37,6 +37,9 @@ static Layer *s_division_layer;
|
|||||||
static Layer *s_alarm_highlight_layer;
|
static Layer *s_alarm_highlight_layer;
|
||||||
static MenuLayer *s_drop_menu_layer;
|
static MenuLayer *s_drop_menu_layer;
|
||||||
static TriangleLayer *s_triangle_layer;
|
static TriangleLayer *s_triangle_layer;
|
||||||
|
static TextLayer *s_side_a_txt_layer;
|
||||||
|
static TextLayer *s_side_b_txt_layer;
|
||||||
|
static TextLayer *s_side_c_txt_layer;
|
||||||
|
|
||||||
// fonts
|
// fonts
|
||||||
//// setter
|
//// setter
|
||||||
@@ -79,8 +82,8 @@ static const char *s_tan;
|
|||||||
// alarm drop menu options
|
// alarm drop menu options
|
||||||
static const char *s_options_type[3] = {"acute", "obtuse", "right"};
|
static const char *s_options_type[3] = {"acute", "obtuse", "right"};
|
||||||
static const char *s_options_function[3];
|
static const char *s_options_function[3];
|
||||||
static char *s_options_over[3];
|
static char *s_options_over[2];
|
||||||
static char *s_options_under[3];
|
static char *s_options_under[2];
|
||||||
|
|
||||||
/////////////////////////////////
|
/////////////////////////////////
|
||||||
|
|
||||||
@@ -535,6 +538,56 @@ static void alarm_window_load() {
|
|||||||
s_triangle_layer = triangle_layer_create(GRect(0, s_top_bar_grect.size.h + 1, PBL_DISPLAY_WIDTH, PBL_DISPLAY_HEIGHT - (s_top_bar_grect.size.h * 2)), GColorBlack);
|
s_triangle_layer = triangle_layer_create(GRect(0, s_top_bar_grect.size.h + 1, PBL_DISPLAY_WIDTH, PBL_DISPLAY_HEIGHT - (s_top_bar_grect.size.h * 2)), GColorBlack);
|
||||||
layer_add_child(window_layer, s_triangle_layer->layer);
|
layer_add_child(window_layer, s_triangle_layer->layer);
|
||||||
|
|
||||||
|
// triangle measurements text layers
|
||||||
|
//// side_a
|
||||||
|
s_side_a_txt_layer = text_layer_create(GRect(0, s_bottom_bar_grect.origin.y - 27, PBL_DISPLAY_WIDTH, 23));
|
||||||
|
text_layer_set_background_color(s_side_a_txt_layer, GColorClear);
|
||||||
|
text_layer_set_font(s_side_a_txt_layer, s_font_mansalva_small);
|
||||||
|
text_layer_set_text_alignment(s_side_a_txt_layer, GTextAlignmentCenter);
|
||||||
|
layer_add_child(window_layer, text_layer_get_layer(s_side_a_txt_layer));
|
||||||
|
//// side_b
|
||||||
|
s_side_b_txt_layer = text_layer_create(GRect(-4, PBL_DISPLAY_WIDTH / 2, PBL_DISPLAY_WIDTH, 23));
|
||||||
|
text_layer_set_background_color(s_side_b_txt_layer, GColorClear);
|
||||||
|
text_layer_set_font(s_side_b_txt_layer, s_font_mansalva_small);
|
||||||
|
text_layer_set_text_alignment(s_side_b_txt_layer, GTextAlignmentRight);
|
||||||
|
layer_add_child(window_layer, text_layer_get_layer(s_side_b_txt_layer));
|
||||||
|
//// side_c
|
||||||
|
s_side_c_txt_layer = text_layer_create(GRect(4, PBL_DISPLAY_WIDTH / 2, PBL_DISPLAY_WIDTH, 23));
|
||||||
|
text_layer_set_background_color(s_side_c_txt_layer, GColorClear);
|
||||||
|
text_layer_set_font(s_side_c_txt_layer, s_font_mansalva_small);
|
||||||
|
layer_add_child(window_layer, text_layer_get_layer(s_side_c_txt_layer));
|
||||||
|
//// display 2 side lengths to the user
|
||||||
|
static char side_a_buffer[3], side_b_buffer[3], side_c_buffer[3];
|
||||||
|
uint8_t ignored_side = rand() % 3;
|
||||||
|
switch (ignored_side) {
|
||||||
|
case 0:
|
||||||
|
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;
|
||||||
|
s_options_over[1] = side_c_buffer;
|
||||||
|
s_options_under[0] = side_b_buffer;
|
||||||
|
s_options_under[1] = side_c_buffer;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
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;
|
||||||
|
s_options_over[1] = side_c_buffer;
|
||||||
|
s_options_under[0] = side_a_buffer;
|
||||||
|
s_options_under[1] = side_c_buffer;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
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;
|
||||||
|
s_options_over[1] = side_b_buffer;
|
||||||
|
s_options_under[0] = side_a_buffer;
|
||||||
|
s_options_under[1] = side_b_buffer;
|
||||||
|
}
|
||||||
|
text_layer_set_text(s_side_a_txt_layer, side_a_buffer);
|
||||||
|
text_layer_set_text(s_side_b_txt_layer, side_b_buffer);
|
||||||
|
text_layer_set_text(s_side_c_txt_layer, side_c_buffer);
|
||||||
|
|
||||||
// drop menus
|
// drop menus
|
||||||
//// determine trigonometric function options
|
//// determine trigonometric function options
|
||||||
s_sin = s_sin_arr[rand() % 2];
|
s_sin = s_sin_arr[rand() % 2];
|
||||||
@@ -544,10 +597,6 @@ static void alarm_window_load() {
|
|||||||
s_options_function[0] = s_sin;
|
s_options_function[0] = s_sin;
|
||||||
s_options_function[1] = s_cos;
|
s_options_function[1] = s_cos;
|
||||||
s_options_function[2] = s_tan;
|
s_options_function[2] = s_tan;
|
||||||
s_options_over[0] = "1";
|
|
||||||
s_options_over[1] = "2";
|
|
||||||
s_options_under[0] = "1";
|
|
||||||
s_options_under[1] = "2";
|
|
||||||
//// create drop window
|
//// create drop window
|
||||||
s_drop_window = window_create(); // TODO destroy on window unload?
|
s_drop_window = window_create(); // TODO destroy on window unload?
|
||||||
window_set_window_handlers(
|
window_set_window_handlers(
|
||||||
@@ -559,6 +608,9 @@ static void alarm_window_load() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void alarm_window_unload() {
|
static void alarm_window_unload() {
|
||||||
|
text_layer_destroy(s_side_a_txt_layer);
|
||||||
|
text_layer_destroy(s_side_b_txt_layer);
|
||||||
|
text_layer_destroy(s_side_c_txt_layer);
|
||||||
triangle_layer_destroy(s_triangle_layer);
|
triangle_layer_destroy(s_triangle_layer);
|
||||||
layer_destroy(s_alarm_highlight_layer);
|
layer_destroy(s_alarm_highlight_layer);
|
||||||
layer_destroy(s_division_layer);
|
layer_destroy(s_division_layer);
|
||||||
|
|||||||
Reference in New Issue
Block a user