flipped the coordinate system to match screen coords and pulled out the curses functions
This commit is contained in:
parent
e1e3302653
commit
8764bd17db
2 changed files with 41 additions and 27 deletions
20
src/linux.h
Normal file
20
src/linux.h
Normal 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;
|
||||||
|
}
|
48
src/main.c
48
src/main.c
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue