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*/
|