diff --git a/include/snake.h b/include/snake.h index 5f6990d..ddd784a 100644 --- a/include/snake.h +++ b/include/snake.h @@ -39,6 +39,9 @@ bool snakeIsAlive(); // Überprüfen, ob Schlange noch lebt // Prüft Kollision mit sich selbst -void snakeSetHeadPos(); // optional +void snakeSetHeadPos(int xPos, int yPos); // optional // für handlePortals -// generiert zufällige Zielsposition, wohin sich die Schlange nach Betreten eines Portals bewegt \ No newline at end of file +// generiert zufällige Zielposition(Übergabeparameter), wohin sich die Schlange nach Betreten eines Portals bewegt + +void snakeUpdateHeadPos(); +// berechnet neue Position des Kopfs anhand der aktuellen Bewegungsrichtung \ No newline at end of file diff --git a/src/snake.c b/src/snake.c index 42f8c94..a39a9b8 100644 --- a/src/snake.c +++ b/src/snake.c @@ -45,8 +45,8 @@ void snakeMove() { int i = game.snake.length - 1; // counter for snake moving - // update head position - snakeSetHeadPos(); + // update head position automatically + snakeUpdateHeadPos(); // tail part of[x,y][0,1] get coordinates of tail part before while(i) @@ -77,9 +77,17 @@ bool snakeIsAlive() return true; } -void snakeSetHeadPos() +void snakeSetHeadPos(int xPos, int yPos) { - switch(game.snake.direction) + game.snake.headX = xPos; + game.snake.headY = yPos; + return; +} + + +void snakeUpdateHeadPos() +{ + switch(game.snake.direction) { // DOWN case DOWN: