← Back to ratslair.com
aboutsummaryrefslogtreecommitdiff
path: root/nships.c
diff options
context:
space:
mode:
Diffstat (limited to 'nships.c')
-rw-r--r--nships.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/nships.c b/nships.c
index ac62fdb..621684d 100644
--- a/nships.c
+++ b/nships.c
@@ -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()
+{
+
+}