diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..ed8527b --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Prog3B \ No newline at end of file diff --git a/.idea/editor.xml b/.idea/editor.xml new file mode 100644 index 0000000..e54e87a --- /dev/null +++ b/.idea/editor.xml @@ -0,0 +1,102 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..0b76fe5 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..f2de6a7 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/prog3b_652.iml b/.idea/prog3b_652.iml new file mode 100644 index 0000000..f08604b --- /dev/null +++ b/.idea/prog3b_652.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 15b11b2..d667d8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,30 +6,45 @@ set(EXECUTABLE_NAME Prog3B) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_CXX_STANDARD 20) -# Set the default build type if not specified -if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE) -endif() set(SRC_FILES - ${CMAKE_CURRENT_LIST_DIR}/main.cpp - ${CMAKE_CURRENT_LIST_DIR}/gamecube.cpp + src/main.cpp + src/gamecube.cpp ) - -set(INCLUDE_DIRS - ${CMAKE_CURRENT_LIST_DIR}/linux -) - add_executable(${EXECUTABLE_NAME} ${SRC_FILES}) -target_include_directories(${EXECUTABLE_NAME} PRIVATE ${INCLUDE_DIRS}) -target_link_libraries(${EXECUTABLE_NAME} PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/linux/libgamematrix.a - ${CMAKE_CURRENT_LIST_DIR}/linux/libraylib.a + + +target_include_directories(${EXECUTABLE_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/includes + ${CMAKE_CURRENT_LIST_DIR}/raylib ) -# Checks if OSX and links appropriate frameworks (Only required on MacOS) -if (APPLE) - target_link_libraries(Prog3B "-framework IOKit") - target_link_libraries(Prog3B "-framework Cocoa") - target_link_libraries(Prog3B "-framework OpenGL") -endif() + +if(WIN32) + + message(STATUS "Configuring for Windows") + target_link_libraries(${EXECUTABLE_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/windows/libgamematrix.a + ${CMAKE_CURRENT_LIST_DIR}/windows/libraylib.a + opengl32 gdi32 winmm + ) +elseif(APPLE) + + message(STATUS "Configuring for MacOS") + + target_link_libraries(${EXECUTABLE_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/mac_x86/libgamematrix.a + ${CMAKE_CURRENT_LIST_DIR}/mac_x86/libraylib.a + "-framework IOKit" + "-framework Cocoa" + "-framework OpenGL" + ) +else() + # --- Linux --- + message(STATUS "Configuring for Linux") + target_link_libraries(${EXECUTABLE_NAME} PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/linux/libgamematrix.a + ${CMAKE_CURRENT_LIST_DIR}/linux/libraylib.a + GL X11 m + ) +endif() \ No newline at end of file diff --git a/gamecube.h b/includes/gamecube.h similarity index 100% rename from gamecube.h rename to includes/gamecube.h diff --git a/gamematrix.h b/includes/gamematrix.h similarity index 100% rename from gamematrix.h rename to includes/gamematrix.h diff --git a/gamecube.cpp b/src/gamecube.cpp similarity index 75% rename from gamecube.cpp rename to src/gamecube.cpp index 6848d50..33fd496 100644 --- a/gamecube.cpp +++ b/src/gamecube.cpp @@ -1,9 +1,13 @@ #include "gamecube.h" -gamecube::gamecube(const Vec3 &pos, Color col) - : position(pos), color(col) {} +gamecube::gamecube(const Vec3 &pos, Color col) //positiv, Die Werte werden mithilfe// + : position(pos), color(col) {} //der Initialisierungsliste im Konstruktor // + //initialisiert und nicht zugewiesen. -void gamecube::Update(float flipSpeed) + +void gamecube::Update(float flipSpeed) // Die Zahlen müssen in initialisierte + //Konstanten umgewandelt werden, + //damit ihre Bedeutung klar ist. // { if (flippingForward) { diff --git a/main.cpp b/src/main.cpp similarity index 100% rename from main.cpp rename to src/main.cpp diff --git a/wuerfelmemory.exe b/wuerfelmemory.exe new file mode 100644 index 0000000..4aab8cd Binary files /dev/null and b/wuerfelmemory.exe differ