2013-01-25 2 views
0

Я работаю над игрушечным проектом, реализующим настольный клиент популярной карточной игры Dominion. Я подумал, что было бы интересно отобразить пользовательский интерфейс в терминале, используя библиотеку ncurses.Отображение нескольких меню сразу, рабочий процесс

Мне нужно отображать такие вещи, как рука игрока, карты, которые они сыграли, и карты, которые они могут купить. Я предполагал отображать их в виде меню ncurses, расположенных на экране.

Что я не могу понять, так это то, как передать фокус пользователю. Например,

|   | |    | 
| Copper | | >Adventurer< | 
| Copper | | Chapel  | 
| Copper | | Moat  | 
| >Copper< | | Thief  | 
| Copper | |    | 
|   | |    | 
|   | |    | 

заселенного меню есть курсор активированного (символизируется> < записей), когда меню отображается. Я хочу иметь возможность сразу активировать одно меню, имея один видимый или иначе специальный курсор, который я могу создать вокруг рабочего процесса.

Как я могу это сделать? На самом высоком уровне я хочу иметь списки элементов на экране, где пользователь может сделать выбор на основе логики, которую я настроил.

ответ

0

ncurses позволяет вам возиться с окраской меню, используя такие функции, как set_menu_fore, set_menu_back и set_menu_grey. Это маршрут, который я взял. Еще одна идея, которую я (но позже решил не из-за слишком большого количества бухгалтерии), состояла в том, чтобы перекрасить окна меню, используя wattron и wattroff.

Смежные вопросы