snake-pp/snake.h
jonny_jr9 5bba3e1531 Add source files, Fix header files - Compiles now
- Add empty source files for all planned modules
- Add source files to CMAKE source list
- Fix and extend header files so there are no errors
- Create global structs in game.c and config.c
2023-11-08 09:52:25 +01:00

43 lines
1.1 KiB
C

#pragma once
#include <stdbool.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[512][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
// Speicherbereich reservieren
void snakeGrow();
// Snake wird um 1 Glied länger (nach Fressen)
void snakeMove();
// bewegt die Schlang 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(); // optional
// für handlePortals
// generiert zufällige Zielsposition, wohin sich die Schlange nach Betreten eines Portals bewegt