started a new game finally... also i fixed the compiler complaints and idk what else i did... if you're interested you can look at the diff

This commit is contained in:
david committed 2026-07-16 03:03:56 -03:00
1 parent 290ea5659f
commit 9c0c7b942e
4 files changed
+92 -7

No files matched your search

+61
View File
@@ -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");
}
+16 -4
View File
@@ -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);