diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..fd62a2d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+cmake-build-debug
+
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 0000000..30aa626
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..79b3c94
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..4922bfe
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/untitled1.iml b/.idea/untitled1.iml
new file mode 100644
index 0000000..f08604b
--- /dev/null
+++ b/.idea/untitled1.iml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..e3505ed
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,276 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1536051927095
+
+
+ 1536051927095
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ file://$PROJECT_DIR$/main.cpp
+ 134
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..612e0af
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,16 @@
+cmake_minimum_required(VERSION 3.10)
+project(untitled1)
+
+set(CMAKE_CXX_STANDARD 11)
+
+
+
+
+find_package(SDL2 REQUIRED)
+
+include_directories(${SDL2_INCLUDE_DIRS})
+
+add_executable(untitled1 main.cpp Robot.cpp Robot.h defines.h)
+
+
+target_link_libraries(untitled1 ${SDL2_LIBRARIES})
\ No newline at end of file
diff --git a/Robot.cpp b/Robot.cpp
new file mode 100644
index 0000000..0c6b4df
--- /dev/null
+++ b/Robot.cpp
@@ -0,0 +1,19 @@
+//
+// Created by jannik on 04.09.18.
+//
+
+#include "Robot.h"
+
+
+Robot::Robot()
+{
+ Pose pose1;
+ pose1.x = 0;
+ pose1.y = 0;
+ pose1.phi = 0.;
+}
+
+Robot::~Robot()
+{
+
+}
\ No newline at end of file
diff --git a/Robot.h b/Robot.h
new file mode 100644
index 0000000..5ac4053
--- /dev/null
+++ b/Robot.h
@@ -0,0 +1,28 @@
+//
+// Created by jannik on 04.09.18.
+//
+
+#ifndef UNTITLED1_ROBOT_H
+#define UNTITLED1_ROBOT_H
+
+typedef struct Pose
+{
+ int x, y;
+ float phi;
+} Pose;
+
+
+
+class Robot {
+public:
+ Robot();
+ ~Robot();
+ Pose pose;
+
+
+private:
+
+};
+
+
+#endif //UNTITLED1_ROBOT_H
diff --git a/defines.h b/defines.h
new file mode 100644
index 0000000..f047c83
--- /dev/null
+++ b/defines.h
@@ -0,0 +1,16 @@
+//
+// Created by jannik on 04.09.18.
+//
+
+#ifndef UNTITLED1_DEFINES_H
+#define UNTITLED1_DEFINES_H
+
+#include "cstring"
+
+const char * window_title = "Robot Program";
+int x_start = 100;
+int y_start = 100;
+int width = 640;
+int height = 480;
+
+#endif //UNTITLED1_DEFINES_H
diff --git a/main.cpp b/main.cpp
new file mode 100644
index 0000000..92a38e5
--- /dev/null
+++ b/main.cpp
@@ -0,0 +1,185 @@
+#include
+#include
+#include
+#include "defines.h"
+
+
+
+
+void initializeGrid()
+{
+
+
+
+
+}
+void update_position(SDL_Rect * rect, const Uint8 * state)
+{
+
+ if (state[SDL_SCANCODE_RIGHT])
+ {
+ rect->x += 1;
+ }
+
+ if (rect->x > width)
+ {
+ rect->x = width;
+ }
+
+ if (state[SDL_SCANCODE_LEFT])
+ {
+ rect->x -= 1;
+ }
+
+ if (rect->x < 0)
+ {
+ rect->x = 0;
+ }
+
+
+ if (state[SDL_SCANCODE_UP])
+ {
+ rect->y -= 1;
+ }
+
+ if (rect->y > height)
+ {
+ rect->y = height;
+ }
+
+ if (state[SDL_SCANCODE_DOWN])
+ {
+ rect->y += 1;
+ }
+
+ if (rect->y < 0)
+ {
+ rect->y = 0;
+ }
+}
+
+
+SDL_Point * generateShape(const int points_count)
+{
+
+
+}
+
+
+
+
+int main() {
+
+ if (SDL_Init(SDL_INIT_VIDEO) != 0){
+ std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
+ return 1;
+ }
+
+
+ SDL_Window *win = SDL_CreateWindow(window_title, x_start, y_start, width, height, SDL_WINDOW_SHOWN);
+ if (win == nullptr){
+ std::cout << "SDL_CreateWindow Error: " << SDL_GetError() << std::endl;
+ SDL_Quit();
+ return 1;
+ }
+
+ SDL_Renderer *ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
+ if (ren == nullptr){
+ SDL_DestroyWindow(win);
+ std::cout << "SDL_CreateRenderer Error: " << SDL_GetError() << std::endl;
+ SDL_Quit();
+ return 1;
+ }
+
+ int points_count = 10000;
+ SDL_Point * points = generateShape(points_count);
+
+
+
+ int mouse_x;
+ int mouse_y;
+
+ SDL_Rect rect;
+ rect.x = 0;
+ rect.y = 0;
+ rect.h = 100;
+ rect.w = 100;
+
+ initializeGrid();
+
+ // first rendering loop
+ while (1) {
+
+ printf("Move mouse to create level!\n");
+
+ //First clear the renderer
+ SDL_RenderClear(ren);
+
+ //Draw the texture
+ SDL_SetRenderDrawColor(ren, 255, 255, 255, 255);
+
+ SDL_RenderClear(ren); // fill the scene with white
+
+ SDL_SetRenderDrawColor(ren, 255, 0, 0, 255); // the rect color (solid red)
+ SDL_RenderFillRect(ren, &rect);
+
+
+// SDL_RenderDrawPoints(ren, points, points_count);
+
+ //Update the screen
+ SDL_RenderPresent(ren);
+
+ //Take a quick break after all that hard work
+ SDL_Delay(20);
+
+ SDL_PumpEvents();
+ if (SDL_GetMouseState(&mouse_x, &mouse_y) & SDL_BUTTON(SDL_BUTTON_LEFT)) {
+ SDL_Log("Mouse Button 1 (left) is pressed.");
+ printf("Coordinates: x = %i, y = %i\n", mouse_x, mouse_y);
+ }
+
+ const Uint8 *state = SDL_GetKeyboardState(NULL);
+
+ if (state[SDL_SCANCODE_RETURN])
+ {
+ printf("finished level creation!\n");
+ break;
+ }
+ }
+
+ // second rendering loop
+ while (1) {
+
+ //First clear the renderer
+ SDL_RenderClear(ren);
+
+ //Draw the texture
+ SDL_SetRenderDrawColor(ren, 255, 255, 255, 255);
+
+ SDL_RenderClear(ren); // fill the scene with white
+
+ SDL_SetRenderDrawColor(ren, 255, 0, 0, 255); // the rect color (solid red)
+ SDL_RenderFillRect(ren, &rect);
+
+ //Update the screen
+ SDL_RenderPresent(ren);
+
+ //Take a quick break after all that hard work
+ SDL_Delay(20);
+
+ SDL_PumpEvents();
+ if (SDL_GetMouseState(&mouse_x, &mouse_y) & SDL_BUTTON(SDL_BUTTON_LEFT)) {
+ SDL_Log("Mouse Button 1 (left) is pressed.");
+ printf("Coordinates: x = %i, y = %i\n", mouse_x, mouse_y);
+ }
+
+ const Uint8 *state = SDL_GetKeyboardState(NULL);
+ update_position(&rect, state);
+ }
+
+
+
+
+
+ return 0;
+}
\ No newline at end of file