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/
game
config/

View File

@ -1,7 +1,9 @@
include config/config.mk
OUT = game
CFLAGS =
LDFLAGS =
INCLUDE = -Iinclude
INCLUDE = -Iinclude -Iconfig
CC = cc
LD = ld
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 "player.h"
#include "food.h"
#include "config.h"
void drawPlayer(Player *player, Screen *screen)
{
@ -22,7 +23,7 @@ Food generateFood(Player *player)
Food food;
do
{
food = (Food){random() % 10, random() % 10};
food = (Food){random() % SIZE, random() % SIZE};
} while (playerCheckFoodCollision(player, food));
return food;
}
@ -30,8 +31,8 @@ Food generateFood(Player *player)
int main(int argc, char **argv)
{
srandom(time(NULL));
Player *player = playerCreate(DOWN, 0, 0, 0);
Screen *screen = screenCreate(10, 10, ' ');
Player *player = playerCreate(DOWN, DEFX, DEFY, 0);
Screen *screen = screenCreate(SIZE, SIZE, ' ');
PlayerNode *node;
pthread_t input_thread;
int head_x, head_y;
@ -68,7 +69,7 @@ int main(int argc, char **argv)
}
head_x = player->head->x;
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;
break;