Public feed #381775

Miscellany

public text v1 · immutable
Raw Edit
·published 2007-03-05 01:53 UTC
rendered paste body
void get_main_menu_choice()
{
	int choice = 0;
	
	while (1) {
		draw_main_menu(choice);
		
		if (key[KEY_UP] && choice != 0) {
			choice--;
		}
		else if (key[KEY_DOWN] && choice < NUM_CHOICES-1) {
			choice++;
		}

		if (key[KEY_ENTER]) {
			return choice;
		}
	}
}

int get_options_menu_choice()
{
	int choice = 0;
	
	while (1) {
		draw_options_menu(choice);
		
		if (key[KEY_UP] && choice != 0) {
			choice--;
		}
		else if (key[KEY_DOWN] && choice < NUM_CHOICES-1) {
			choice++;
		}

		if (key[KEY_ENTER]) {
			return choice;
		}
	}
}

void do_options_menu()
{
	while (1) {
		int choice = get_options_menu_choice();
		switch (choice) {
			case EXIT:
				return;
			/* ... */
		}
	}
}

void do_main_menu()
{
	while (1) {
		int choice = get_main_menu_choice();
		switch (choice) {
			case OPTIONS_MENU:
				do_options_menu();
				break;
			case EXIT:
				return;
			/* ... */
		}
	}
}

int main()
{
	do_main_menu();
}