Hanse-14 ae7469f291 add function snakeUpdateHeadPos()
write content of snakeSetHeadPos() in snakeUpdateHeadPos()
snakeSetHeadPos() set head-position via transfer parameters
2023-12-07 15:52:41 +01:00

47 lines
1.3 KiB
C

#pragma once
#include <stdbool.h>
#include "config.h"
typedef enum snakeDirection_t
{
DOWN = 0,
UP,
LEFT,
RIGHT
} snakeDirection_t; // Bewegungsrichtung
typedef struct snake_t
{
int length; // aktuelle Länge der Schlange
int headX;
int headY; // aktuelle Position der Schlange
snakeDirection_t direction;
int tail[MAX_MAP_SIZE*MAX_MAP_SIZE][2];
bool isAlive; // lebt die Schlange noch oder ist sie mit sich selbst kollidiert?
} snake_t;
void snakeInit();
// Snake mit bestimmter Startlänge an Startposition erstellen
void snakeGrow();
// Snake wird um 1 Glied länger (nach Fressen)
void snakeMove();
// bewegt die Schlange einen Schritt in die aktuelle Richtung
// ruft lokale Variable dir von snakeSetDir auf
void snakeSetDir(snakeDirection_t dir); // Richtung als Übergabeparameter
// definiert aktuelle Bewegungsrichtung der Schlange
bool snakeIsAlive();
// Überprüfen, ob Schlange noch lebt
// Prüft Kollision mit sich selbst
void snakeSetHeadPos(int xPos, int yPos); // optional
// für handlePortals
// 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