flipped the coordinate system to match screen coords and pulled out the curses functions

This commit is contained in:
zombie maniac 2022-03-04 11:17:46 -05:00
parent e1e3302653
commit 8764bd17db
Signed by: nbrooks211
GPG key ID: F43C85C0DF0C334E
2 changed files with 41 additions and 27 deletions

20
src/linux.h Normal file
View file

@ -0,0 +1,20 @@
#include <curses.h>
int fuck(void) {
return 69;
}
int zom_scrinit(void) {
initscr();
nodelay(stdscr, true);//cbreak would wait for you to press a key this doesnt
noecho();
clear();
return 0;
}
int zom_screxit(void) {
endwin();
return 0;
}
int zom_putcharat(int x, int y, char chara){
mvaddch(y, x, chara);
return 0;
}

View file

@ -1,6 +1,6 @@
#include <stdio.h> //printf and shit #include <stdio.h> //printf and shit
#include <curses.h>
#include <time.h> #include <time.h>
#include "linux.h"
int main( int argc, char *argv[] ) { //yoinked from the internet argc is number of args and argv is a "array of arguments" int main( int argc, char *argv[] ) { //yoinked from the internet argc is number of args and argv is a "array of arguments"
@ -24,12 +24,7 @@ int main( int argc, char *argv[] ) { //yoinked from the internet argc is number
debugent_x = {0, 0, 0, 0}, debugent_x = {0, 0, 0, 0},
debugent_y = {0, 0, 0, 0}; debugent_y = {0, 0, 0, 0};
initscr(); zom_scrinit();
//cbreak();
nodelay(stdscr, true);//cbreak would wait for you to press a key this doesnt
noecho();
clear();
while(gamerun) { while(gamerun) {
currenttime = clock(); currenttime = clock();
@ -46,19 +41,19 @@ int main( int argc, char *argv[] ) { //yoinked from the internet argc is number
switch (getch()) { switch (getch()) {
case 'a': case 'a':
player.y--;
break;
case 'w':
player.x--; player.x--;
break; break;
case 'w':
player.y--;
break;
case 'd': case 'd':
player.y++; player.x++;
break; break;
case 's': case 's':
player.x++; player.y++;
break; break;
case 'q': case 'q':
@ -76,7 +71,7 @@ int main( int argc, char *argv[] ) { //yoinked from the internet argc is number
} }
//game logic not kb dependent //game logic not kb dependent
if ((enemy.x == player.x) && (enemy.y == player.y)){ if ((enemy.x == player.x) && (enemy.y == player.y)){
endwin(); zom_screxit();
puts("you lose :("); puts("you lose :(");
return 0; //TODO fix this this should not be here... return 0; //TODO fix this this should not be here...
} }
@ -92,33 +87,32 @@ int main( int argc, char *argv[] ) { //yoinked from the internet argc is number
prevtime = currenttime; prevtime = currenttime;
} }
//entity rendering //entity rendering
mvaddch(enemy.xold, enemy.yold, ' '); zom_putcharat(enemy.xold, enemy.yold, ' ');
switch (dosspin) { switch (dosspin) {
case 0: case 0:
mvaddch(enemy.x, enemy.y, '-'); zom_putcharat(enemy.x, enemy.y, '-');
break; break;
case 1: case 1:
mvaddch(enemy.x, enemy.y, '/'); zom_putcharat(enemy.x, enemy.y, '/');
break; break;
case 2: case 2:
mvaddch(enemy.x, enemy.y, '|'); zom_putcharat(enemy.x, enemy.y, '|');
break; break;
case 3: case 3:
mvaddch(enemy.x, enemy.y, '\\'); zom_putcharat(enemy.x, enemy.y, '\\');
break; break;
} }
mvaddch(player.xold, player.yold, ' '); zom_putcharat(player.xold, player.yold, ' ');
mvaddch(player.x, player.y, '#'); zom_putcharat(player.x, player.y, '#');
mvaddch(debugent_x.xold, debugent_x.yold, ' '); zom_putcharat(debugent_x.xold, debugent_x.yold, ' ');
mvaddch(debugent_x.x, debugent_x.y, 'X'); zom_putcharat(debugent_x.x, debugent_x.y, 'X');
mvaddch(debugent_y.xold, debugent_y.yold, ' '); zom_putcharat(debugent_y.xold, debugent_y.yold, ' ');
mvaddch(debugent_y.x, debugent_y.y, 'Y'); zom_putcharat(debugent_y.x, debugent_y.y, 'Y');
} }
//cleanup //cleanup
endwin(); zom_screxit();
printf("Args %d",argc); //anti Wall Werror Wextra printf("Args %d",argc); //anti Wall Werror Wextra
puts(argv[0]);//anti Wall Werror Wextra puts(argv[0]);//anti Wall Werror Wextra