GameOfLife.h


1
#ifndef GAMEOFLIFE_H
2
#define GAMEOFLIFE_H
3
4
#include <stdint.h>
5
6
/*GameOfLife------------------------------------------------------------GameOfLife*/
7
//Spielregel[]
8
#define LuG 0  //0 = Arrayindex. LuG steht für: Lebend untere Grenze. An dieser Stelle im Array steht der Wert ab dem die Zelle stirbt (Bei Gleichheit oder Unterschreiten)
9
#define LoG 1  //1 = Arrayindex. LoG steht für: Lebend obere Grenze. An dieser Stelle im Array steht der Wert ab dem die Zelle stirbt. (Bei Gleichheit oder Überschreiten)
10
#define TwL 2  //2 = Arrayindex. TwL steht für: Tot wird Lebendig. An dieser Stelle im Array steht der Wert, bei dem  eine tote Zelle lebendig wird.
11
12
//Zellen[][]
13
#define TOT    0  //0 = Wert. Dieser Wert steht dafür ob eine Zelle tot oder lebendig ist.
14
#define LEBENDIG 1  //1 = Wert.
15
/*GameOfLife------------------------------------------------------------GameOfLife*/
16
17
18
19
void GameOfLife(void);
20
void GameOfLife_Spielfeldinit_Random(uint8_t Wahrscheinlichkeit, uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt);
21
void GameOfLife_Spielfeldinit_0(uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt);
22
void GameOfLife_Spielfeldinit_1(uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt);
23
void GameOfLife_Spielfeldzeichnen(uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y, uint8_t *SpielfeldPt);
24
void GameOfLife_Zug (uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt);
25
26
void LinksObenCheck(uint8_t *RegelPt, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt, uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y);
27
void RechtsObenCheck(uint8_t *RegelPt, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt, uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y);
28
void LinksUntenCheck(uint8_t *RegelPt, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt, uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y);
29
void RechtsUntenCheck(uint8_t *RegelPt, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt, uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y);
30
void RandObenCheck(uint8_t *RegelPt, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt, uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y);
31
void RandUntenCheck(uint8_t *RegelPt, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt, uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y);
32
void RandLinksCheck(uint8_t *RegelPt, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt, uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y);
33
void RandRechtsCheck(uint8_t *RegelPt, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt, uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y);
34
void FeldCheck(uint8_t *RegelPt, uint8_t *SpielfeldPt, uint8_t *SpielfeldschattenPt, uint16_t Spielfeldgroesse_x, uint16_t Spielfeldgroesse_y);
35
36
#endif  /*GAMEOFLIFE_H*/