Compare commits

...

8 Commits

Author SHA1 Message Date
Nakidai f89b46a60d
Add help 2023-10-30 03:27:47 +03:00
Nakidai 42bddb2ee4
Fix configure 2023-10-30 03:17:54 +03:00
Nakidai b51afc628f
Autocreate config dir attempt 2 2023-10-30 03:15:24 +03:00
Nakidai d241321aff
Autocreate config dir 2023-10-30 03:10:21 +03:00
Nakidai 40dc962d5e
Add code configuraction in configure 2023-10-30 03:09:32 +03:00
Nakidai ad64867b40
Remove config from make clean 2023-10-30 03:05:29 +03:00
Nakidai 35669794a7
Move config to config/ 2023-10-30 03:00:39 +03:00
Nakidai d6eef4c404
Add configure for make 2023-10-30 02:33:30 +03:00
4 changed files with 61 additions and 5 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
obj/ obj/
game game
config/

View File

@ -1,7 +1,9 @@
include config/config.mk
OUT = game OUT = game
CFLAGS = CFLAGS =
LDFLAGS = LDFLAGS =
INCLUDE = -Iinclude INCLUDE = -Iinclude -Iconfig
CC = cc CC = cc
LD = ld LD = ld
RM = rm -f RM = rm -f

52
configure vendored Executable file
View File

@ -0,0 +1,52 @@
#!/bin/sh
if [[ "$*" == *"--help"* ]] || [[ "$*" == *"-h"* ]]
then
echo "Use environment variables to pass values:
CC - compiler (default: cc)
CFLAGS - flags for compiler
LDFLAGS - flags for linker
OUT - out file (default: game
SIZE - size of game field
DEFX - start x
DEFY - start y"
exit 1
fi
CC=${CC:-cc}
RM=${RM:-rm -f}
CFLAGS=${CFLAGS:-}
LDFLAGS=${LDFLAGS:-}
OUT=${OUT:-game}
SIZE=${SIZE:-10}
DEFX=${DEFX:-0}
DEFY=${DEFY:-0}
echo "Makefile configuration:"
echo "Compiler: $CC"
echo "Remove: $RM"
echo "CFLAGS: $CFLAGS"
echo "LDFLAGS: $LDFLAGS"
echo "Out file: $OUT"
echo
echo "Code configuration:"
echo "Size: $SIZE"
echo "Start x: $DEFX"
echo "Start y: $DEFY"
if ! test -d config; then
if test -f config; then
rm config
fi
mkdir config
fi
echo "CC = $CC
RM = $RM
CFLAGS = $CFLAGS
LDFLAGS = $LDFLAGS
OUT = $OUT" > config/config.mk
echo "#define SIZE $SIZE
#define DEFX $DEFX
#define DEFY $DEFY" > config/config.h

View File

@ -9,6 +9,7 @@
#include "screen.h" #include "screen.h"
#include "player.h" #include "player.h"
#include "food.h" #include "food.h"
#include "config.h"
void drawPlayer(Player *player, Screen *screen) void drawPlayer(Player *player, Screen *screen)
{ {
@ -22,7 +23,7 @@ Food generateFood(Player *player)
Food food; Food food;
do do
{ {
food = (Food){random() % 10, random() % 10}; food = (Food){random() % SIZE, random() % SIZE};
} while (playerCheckFoodCollision(player, food)); } while (playerCheckFoodCollision(player, food));
return food; return food;
} }
@ -30,8 +31,8 @@ Food generateFood(Player *player)
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
srandom(time(NULL)); srandom(time(NULL));
Player *player = playerCreate(DOWN, 0, 0, 0); Player *player = playerCreate(DOWN, DEFX, DEFY, 0);
Screen *screen = screenCreate(10, 10, ' '); Screen *screen = screenCreate(SIZE, SIZE, ' ');
PlayerNode *node; PlayerNode *node;
pthread_t input_thread; pthread_t input_thread;
int head_x, head_y; int head_x, head_y;
@ -68,7 +69,7 @@ int main(int argc, char **argv)
} }
head_x = player->head->x; head_x = player->head->x;
head_y = player->head->y; head_y = player->head->y;
if (head_x >= 10 || head_x < 0 || head_y >= 10 || head_y < 0) if (head_x >= SIZE || head_x < 0 || head_y >= SIZE || head_y < 0)
{ {
*running = false; *running = false;
break; break;