我正在开发一个玩具项目,实现流行的纸牌游戏Dominion的桌面客户端。我认为使用ncurses库在终端中显示UI会很有趣。
我需要展示玩家的手牌,他们玩过的牌以及他们可以购买的牌。我设想将这些显示为ncurses菜单,在屏幕上内嵌排列。
我无法弄清楚如何将焦点传达给用户。例如,
| | | |
| Copper | | >Adventurer< |
| Copper | | Chapel |
| Copper | | Moat |
| >Copper< | | Thief |
| Copper | | |
| | | |
| | | |
当菜单可见时,已填充的菜单会激活光标(由&gt;&lt; entries表示)。我希望能够同时激活一个菜单,通过一个可见或特殊的光标,我可以构建工作流程。
我该怎么做?在最高级别,我想要的是在屏幕上显示项目列表,用户可以根据我设置的逻辑进行选择。
答案 0 :(得分:0)
ncurses允许您使用set_menu_fore
,set_menu_back
和set_menu_grey
等功能来混淆菜单的颜色。这是我走的路线。我的另一个想法(但后来由于记账太多而决定反对)是使用wattron
和wattroff
重新着色菜单窗口。