aboutsummaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
Diffstat (limited to 'games')
-rw-r--r--games/gameclicker.c61
-rw-r--r--games/gamemaze.c20
2 files changed, 77 insertions, 4 deletions
diff --git a/games/gameclicker.c b/games/gameclicker.c
new file mode 100644
index 0000000..7e723de
--- /dev/null
+++ b/games/gameclicker.c
@@ -0,0 +1,61 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <unistd.h>
+#include <ncurses.h>
+#include "../rat.h"
+
+#define width getmaxx(stdscr)
+#define height getmaxy(stdscr)
+
+int running;
+int row = 1;
+
+static void stop() {
+ clear();
+ refresh();
+ endwin();
+ running = 0;
+}
+
+void gameclicker(){
+
+ srand(time(NULL));
+ static int initialized = 0;
+ if(!initialized){ initscr();}else{refresh();}
+ ++initialized;
+
+ noecho();
+ cbreak();
+ nodelay(stdscr, TRUE);
+ keypad(stdscr, TRUE);
+ curs_set(0);
+
+ int winh = height * 0.96;
+ int winw = width * 0.96;
+ int boxy = (height - winh) / 2;
+ int boxx = (width - winw) / 2;
+ WINDOW *win = newwin(winh, winw, boxy, boxx);
+
+ box(win, 0, 0); //box?
+
+ //should i wrap all this into a macro in rat.h to not have to write all of this every time i make a new game?
+
+ running = 1;
+
+ mvwprintw(win, row ++, 2, "hi");
+ while(running){
+ if(!running){stop();}
+ int ch = getch();
+ switch (ch) {
+ case 'q': case 'Q': stop(); break;
+ }
+
+
+ wrefresh(win);
+ usleep(16667); //60 fps according to google ai overview lmao
+ }
+
+stop();
+printf("yeah");
+}
diff --git a/games/gamemaze.c b/games/gamemaze.c
index 8b35afc..5dbce8f 100644
--- a/games/gamemaze.c
+++ b/games/gamemaze.c
@@ -248,13 +248,25 @@ void gamemaze(){
case 'q': case 'Q': stop(); break;
case 'r': case 'R': properrestart(&curs, &W, &H); break;
case 'a': case 'A': case KEY_LEFT:
- if (!iswall(curs.posy, curs.posx - 1)) curs.posx -= 1; break;
+ if(!iswall(curs.posy, curs.posx - 1)){
+ curs.posx -= 1;
+ }
+ break;
case 'd': case 'D': case KEY_RIGHT:
- if (!iswall(curs.posy, curs.posx + 1))curs.posx += 1; break;
+ if (!iswall(curs.posy, curs.posx + 1)){
+ curs.posx += 1;
+ }
+ break;
case 'w': case 'W': case KEY_UP:
- if (!iswall(curs.posy - 1, curs.posx))curs.posy -= 1; break;
+ if (!iswall(curs.posy - 1, curs.posx)){
+ curs.posy -= 1;
+ }
+ break;
case 's': case 'S': case KEY_DOWN:
- if (!iswall(curs.posy + 1, curs.posx))curs.posy += 1; break;
+ if (!iswall(curs.posy + 1, curs.posx)){
+ curs.posy += 1;
+ }
+ break;
}
eatcheese(&curs);