diff --git a/bird.c b/bird.c
index f0a8cd55784c76b6a6c23e610141dd53786ec3c0..860a089d61d0cf373fa84d8f35b24a648b31ba7a 100644
--- a/bird.c
+++ b/bird.c
@@ -7,9 +7,9 @@ struct bird* init_bird(int x_pos,int y_pos){
         perror("kein Speicheeplatz");
     }
 
-    b->speed = -3;//(((rand() % 2)*2) -1)*3
+    b->speed = -3;
     b->x_pos = x_pos;
-    b->y_pos = y_pos;//(rand() % 10) * ROW_SIZE
+    b->y_pos = y_pos;
     
     b->height = 80;
     b->width = 80 ;
diff --git a/gameLoop.c b/gameLoop.c
index 5cb97f2d8ebb26bbef063c0f40eef6de26a64aa8..f93e828fc340907ed7d761225856f7a392bf2244 100644
--- a/gameLoop.c
+++ b/gameLoop.c
@@ -87,9 +87,6 @@ bool gameLoop(enum vehicle theme,SDL_Renderer* renderer) {
         }
 
 
-        //Position des Spielers wird aktualisiert und gezeichnet
-        update_character(speed, renderer);
-
 
         //Der aktuelle Score wird oben rechts angezeigt
         paste_score (renderer);
diff --git a/images/player.png b/images/player.png
new file mode 100644
index 0000000000000000000000000000000000000000..f10028a8b43bf999c26487085d98725484e512b9
Binary files /dev/null and b/images/player.png differ
diff --git a/init.c b/init.c
index 11f1d59546a3d562d75bca70f329ee5bf580def5..464850e0ef954cb10736f51ac094c03bcec6fa01 100644
--- a/init.c
+++ b/init.c
@@ -109,7 +109,7 @@ int init_images(SDL_Renderer* renderer) {
     img_trainL = IMG_LoadTexture(renderer,"images/trainL.png"); // Quelle: https://www.pinterest.de/pin/645492559082244309/
     img_trainR = IMG_LoadTexture(renderer,"images/trainR.png"); // Quelle: https://www.pinterest.de/pin/645492559082244309/
     img_plank = IMG_LoadTexture(renderer,"images/plank.png"); // Quelle: https://www.craiyon.com/image/_XEsXKthRYqpK8Vn6ZixAg
-    img_duck = IMG_LoadTexture(renderer,"images/duck.png"); 
+    img_duck = IMG_LoadTexture(renderer,"images/player.png"); //    Quelle: https://www.sandromaglione.com/articles/pixel-art-top-down-game-sprite-design-and-animation
     img_3D_Duck = IMG_LoadTexture(renderer,"images/3D_Duck.png");
     img_stone = IMG_LoadTexture(renderer,"images/stone.png"); // Quelle: https://www.vecteezy.com/vector-art/22285554-stones-in-pixel-art-style
     img_race_street = IMG_LoadTexture(renderer,"images/race_street.jpg");
diff --git a/map.c b/map.c
index fa66bcfe890b45b76330af15ca52da6d2df2d83e..d56f33407f20a2675d385e9db9e30af65c68debc 100644
--- a/map.c
+++ b/map.c
@@ -88,6 +88,7 @@ int move_map(enum vehicle theme,int delta_y,struct LinkedList *list, SDL_Rendere
 
     struct Row *cur = list->head;
     bool newRow = false;
+    bool printedPlayer = false;
 
     if (cur->y_pos >= SCREEN_HEIGHT){
 
@@ -109,6 +110,11 @@ int move_map(enum vehicle theme,int delta_y,struct LinkedList *list, SDL_Rendere
         if (paste_row(renderer,cur->y_pos,cur->row_type))
             return(-1);
 
+        if (cur->y_pos <= player->y && player->y <= cur->y_pos + ROW_SIZE && (cur->bird != NULL)){
+            update_character(delta_y, renderer);
+            printedPlayer = true;
+        }
+
         if (cur->stone != -1){
             if (paste_stone(renderer,cur->stone,cur->y_pos))
                 return(1);
@@ -138,7 +144,6 @@ int move_map(enum vehicle theme,int delta_y,struct LinkedList *list, SDL_Rendere
             if (cur->bird->anim == 0 && ((abs(player->y - cur->bird->y_pos) < 2*ROW_SIZE) && (abs(player->x - cur->bird->x_pos) < 2*ROW_SIZE))) 
                 cur->bird->anim++;
             move_bird(renderer,cur->bird,delta_y);
-            //paste_bird(renderer,cur->bird->x_pos,cur->bird->y_pos,cur->bird->height,cur->width,cur->bird->anim);
             
         }
 
@@ -165,6 +170,10 @@ int move_map(enum vehicle theme,int delta_y,struct LinkedList *list, SDL_Rendere
 
         cur = cur->next;
     }
+
+    if (!printedPlayer){
+        update_character(delta_y, renderer);
+    }
     
     if (newRow){
         struct Row *n;
diff --git a/menu2.c b/menu2.c
index a1ba20f6a5f0188c6f943f15d7a08c4e6451ea56..6cf4595147ba34c126678c524943c8e2c48c9e8d 100644
--- a/menu2.c
+++ b/menu2.c
@@ -215,22 +215,12 @@ Nachb.: Das Spiel wird erneut gestartet, wenn y gedrückt wird. Wenn n gedrückt
 */
 int end_screen(SDL_Renderer* renderer) {
 
-  if (SDL_SetRenderDrawColor(renderer,255,255,255,0) !=0) {
-    SDL_Log("Farbe konnte nicht gesetzt werden! SDL_Error %s\n",SDL_GetError());
-    return(-1);
-  }
-
   // Hintergrund für Schrift erstellen
   SDL_Rect rect = {
                 .x = 250,
                 .y = 0,
                 .w = 600,
                 .h = 200 };
-  if (SDL_RenderFillRect(renderer,&rect)!=0) {
-
-    SDL_Log("Malen des Rechtecks fehlgeschlagen! SDL_Error %s\n",SDL_GetError());
-    return(-1);
-  }
 
 // Text ausgeben
   SDL_Surface* surfaceMessage = TTF_RenderText_Blended_Wrapped (font, "Nochmal?  (y)/(n)", (SDL_Color) {255, 255, 255, 255}, 8*200);
diff --git a/rows.c b/rows.c
index 5186ed1ff3126549847870dff7dfd227df4478aa..78dac6d764c6219087c094c143b01f52fbce56f5 100644
--- a/rows.c
+++ b/rows.c
@@ -1,10 +1,17 @@
 #include "hDateien/rows.h"
 
+// Vorbedingnug: /
+
+// Nachbedingung: gibt eine zufällige Position für ein Stein zurück 
+
 int gen_stone(){
     int p = (rand() % 9)*ROW_SIZE;
     return(p);
 }
 
+//Vorbedingung: -200<=y_pos<=1000
+
+//Nachbedinung: eine Rennstrecken-Reihe wurde Initialisiert
 struct Row *race(int y_pos){
     struct Row *n = malloc(sizeof(*n));
     if (n==NULL){
diff --git a/title_screen.c b/title_screen.c
index a2d12ddc2eacb55ee74fa51d8234387e7dac2d8d..1422a5fce7884f3557d9557146a3b9b17fc3e264 100644
--- a/title_screen.c
+++ b/title_screen.c
@@ -15,10 +15,10 @@ int title_screen(SDL_Renderer* renderer){
     // unschöne Lösung um Hintergrund weiß zu machen
 
     SDL_Rect rect_3 = {
-        .x = 400,
+        .x = 0,
         .y = 0,
-        .w = 500,
-        .h = 500};
+        .w = SCREEN_WIDTH,
+        .h = SCREEN_HEIGHT};
 
     if (SDL_RenderFillRect(renderer,&rect_3) != 0){
       SDL_Log("Malen des Rechtecks fehlgeschlagen! SDL_Error: %s\n", SDL_GetError());
@@ -28,9 +28,9 @@ int title_screen(SDL_Renderer* renderer){
 
     SDL_Rect rect = {
                     .x = 0,
-                    .y = 0,
+                    .y = 100,
                     .w = 600,
-                    .h = 500};
+                    .h = 200};
 
       if (SDL_RenderFillRect(renderer,&rect)!=0) {
 
@@ -38,7 +38,7 @@ int title_screen(SDL_Renderer* renderer){
         return(-1);
       }
 
-      SDL_Surface* surfaceMessage = TTF_RenderText_Blended_Wrapped(font, " Willkommen zu\n Smashy Roads!\n Steuerung:", (SDL_Color) {0, 0, 0, 255}, 10*200);
+      SDL_Surface* surfaceMessage = TTF_RenderText_Blended_Wrapped(font, "Steuerung:", (SDL_Color) {0, 0, 0, 255}, 10*200);
 
       if (surfaceMessage == NULL)
         printf("Text Surface loading failed: %s\n", TTF_GetError());
@@ -50,12 +50,11 @@ int title_screen(SDL_Renderer* renderer){
         return(-1);
     }
 
-
     //Einfügen Spielanleitung als Bild
 
     SDL_Rect rect_2 = {
         .x = 0,
-        .y = SCREEN_HEIGHT/2,
+        .y = SCREEN_HEIGHT/3,
         .w = SCREEN_WIDTH,
         .h = SCREEN_HEIGHT/2};
 
@@ -72,7 +71,7 @@ int title_screen(SDL_Renderer* renderer){
 
 
     // Einfügen 3D Ente als Bild
-
+    /*
     SDL_Rect ente = {
       .x = 450,
       .y = 330,
@@ -88,6 +87,7 @@ int title_screen(SDL_Renderer* renderer){
       SDL_Log("Bild konnte nicht kopiert werden! SDL_Error: %s\n", SDL_GetError());
       return(-1);
     }
+    */
 
     // Warte auf Eingabe um entweder zu beenden, oder zurückzukehren