diff options
| -rw-r--r-- | nships.c | 58 |
1 files changed, 58 insertions, 0 deletions
@@ -1,4 +1,9 @@ #include <ncurses.h> +#include <stdlib.h> +#include <time.h> + +#define height 80 +#define width 200 struct p { int x; @@ -15,3 +20,56 @@ struct p rP() { p.y = (rand() % (height - 2)) + 1; return p; } + +struct items { + int len; + char items[3][15]; +}; + +int menu(int y, int x, int h, int w, int aLen, char it[][15]) +{ + int key, i, c = 0, o = 0; + WINDOW * menu = newwin(h, w, y, x); + refresh(); + box(menu, 0, 0); + while(o == 0) + { + for(i = 0; i < aLen; ++i) { + if(i == c) { + wattron(menu, A_STANDOUT); + mvwprintw(menu, i + 1, 1, "%s", it[i]); + wattroff(menu, A_STANDOUT); + } else { + mvwprintw(menu, i + 1, 1, "%s", it[i]); + } + } + switch(key = wgetch(menu)) + { + case 119: + if(c > 0) + --c; + break; + case 115: + if(c < aLen) + ++c; + break; + case 10: + o = 1; + break; + case 27: + o = 2; + break; + } + wrefresh(menu); + } + delwin(menu); + if(o == 1) + return c; + else + return -1; +} + +int main() +{ + +} |
