diff --git a/CMakeLists.txt b/CMakeLists.txt index abda864d496a767f8331e3c4b871463110335bca..cefaa5ea464f9b300487aaa5f00c0aae56a6c392 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,4 +3,4 @@ project(JaySpaceGame C) set(CMAKE_C_STANDARD 99) -add_executable(JaySpaceGame main.c) +add_executable(JaySpaceGame main.c mapgen.c) diff --git a/main.c b/main.c index f26b97c98dbdc41322cdf2814786fa85409cef61..05f3b0021edcde1251c344edee604bc7ca13b5c7 100644 --- a/main.c +++ b/main.c @@ -1,6 +1,21 @@ #include <stdio.h> +#include <stdlib.h> +#include <time.h> +#include "mapgen.h" -int main() { - printf("Hello, World!\n"); +int main(){ + + srand(time(NULL)); + char MapSize[Size][Size]; + + InitialiseMap(MapSize); + + ObjectPlacement(MapSize, 'O', 5); + ObjectPlacement(MapSize, 'P', 5); + ObjectPlacement(MapSize, 'S', 5); + + MapOutput(MapSize); return 0; } + + diff --git a/mapgen.c b/mapgen.c new file mode 100644 index 0000000000000000000000000000000000000000..e32df1cf4d9e0ed25ba0a95eb7d6b73ffee09c76 --- /dev/null +++ b/mapgen.c @@ -0,0 +1,35 @@ +//Created and Updated by JAY PATEL 24928598 on 30/04/25 +//Module for map generation + +#include <stdlib.h> +#include <stdio.h> +#include "mapgen.h" + +void InitialiseMap(char MapSize[Size][Size]){ + for (int i = 0; i < Size; i++){ + for (int j = 0; j < Size; ++j) { + MapSize[i][j] = '.'; + } + } +} + +void ObjectPlacement(char MapSize[Size][Size], char Object, int Count){ + int Placed = 0; + while (Placed < Count){ + int x = rand() % Size; + int y = rand() % Size; + if (MapSize[x][y] == '.'){ + MapSize[x][y] = Object; + Placed++; + } + } +} + +void MapOutput(char MapSize[Size][Size]){ + for (int i = 0; i < Size; ++i) { + for (int j = 0; j < Size; ++j) { + printf("%c ", MapSize[i][j]); + } + printf("\n"); + } +} \ No newline at end of file diff --git a/mapgen.h b/mapgen.h new file mode 100644 index 0000000000000000000000000000000000000000..265c0bedaa3f233fea0390bdc07f5e238f471e76 --- /dev/null +++ b/mapgen.h @@ -0,0 +1,15 @@ +//Created and Updated by JAY PATEL 24928598 on 30/04/25 +//Module for map generation + +#ifndef MAPGEN_H +#define MAPGEN_H +//Define grid size +#define Size 20 + +//All Functions for Map Generation +void InitialiseMap(char MapSize[Size][Size]); +void ObjectPlacement(char MapSize[Size][Size], char Object, int Count); +void MapOutput(char MapSize[Size][Size]); + +#endif +