cmake, config, rand, srand

pull/2/head
Neirokan 2023-10-31 06:07:03 +03:00
parent 8b9fcdd3df
commit 29e63d64ee
3 changed files with 28 additions and 2 deletions

23
CMakeLists.txt Normal file
View File

@ -0,0 +1,23 @@
cmake_minimum_required(VERSION 3.5)
project(csnake VERSION 0.1.0 LANGUAGES C)
if(PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR)
message(FATAL_ERROR "In-source builds are not allowed.")
endif()
add_executable(csnake
src/main.c
src/screen.c
src/input.c
src/player.c
)
set_target_properties(csnake PROPERTIES C_STANDARD 11)
set_target_properties(csnake PROPERTIES C_EXTENSIONS FALSE)
target_include_directories(csnake PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
set(SIZE 10 CACHE STRING "Size of game field")
set(DEFX 0 CACHE STRING "Start x")
set(DEFY 0 CACHE STRING "Start y")
configure_file(include/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/include/config.h)

3
include/config.h.in Normal file
View File

@ -0,0 +1,3 @@
#define SIZE ${SIZE}
#define DEFX ${DEFX}
#define DEFY ${DEFY}

View File

@ -22,7 +22,7 @@ Food generateFood(Player *player)
Food food;
do
{
food = (Food){random() % SIZE, random() % SIZE};
food = (Food){rand() % SIZE, rand() % SIZE};
} while (playerCheckFoodCollision(player, food));
return food;
}
@ -34,7 +34,7 @@ void resetCoordinates(void)
int main(int argc, char **argv)
{
srandom(time(NULL));
srand(time(NULL));
Player *player = playerCreate(DOWN, DEFX, DEFY, 0);
Screen *screen = screenCreate(SIZE, SIZE, ' ');
PlayerNode *node;