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