/*
Program: "MINI-LEMINGI"
Modul: Elementy Swiata
Autor: Damian Wojtowicz
Weryfikator: Michal Zmijewski
Tester: Anna Doros
Krotki opis: W pliku tym znajduja sie stale wykorzystywane
w programie dotyczace obiektow klasy Leming i jej
podklas.
*/
#ifndef __STALE_LEMING_H
#define __STALE_LEMING_H
/* czasy trwania czynnosci i wielkosci ekstremalne dla leminga */
#define PREDKOSC_W_WODZIE 10
#define PREDKOSC_W_POWIETRZU 5
#define SPADANIE_W_WODZIE 8
#define SPADANIE_W_POWIETRZU 4
#define POJEMNOSC_PLUC 80
#define MAKSYMALNY_SKOK 40
#define CZAS_ZMIANY_STANU 4
/* czasy trwania czynnosci dla komandosa */
#define CZAS_STANIA 10
#define CZAS_KOPANIA 24
#define CZAS_BUDOWANIA 20
#define CZAS_PICIA 24
#define ZAPAS_SIL_KOPACZA 5
#define ZAPAS_SIL_SCHODKARZA 5
#define ZAPAS_SIL_PIJUSA 5
/* kierunek poruszania sie elementu */
#define DOL 2
#define PRZOD 1
#define GORA 4
/* zwrot nosa (nie zmieniac wartosci!!!) */
#define LEWO -1
#define PRAWO 1
/* stan elementu swiata:
7 bitow na czynnosc podstawowa pozostale na okreslenie dodatkowych
stanow (np. w wodzie, pracuje)
np.: stan == IDZIE + PRACUJE + W_WODZIE oznacz ze leming idac pracuje
oraz znajduje sie w wodzie
*/
/* stan podstawowy (czynnosc) */
#define IDZIE 1
#define STOI 8 /* bloker i schodkarz */
#define SPADA 2
#define ZAWRACA 4
#define NARODZINY 16
#define DOSZEDL 32
#define UMIERA 64
/* stan - czy pracuje (idzie stoi) */
#define PRACUJE 256 /* komandos pracujacy */
/* stan - czy znajduje sie w wodzie */
#define W_WODZIE 512
/* stan - dodatek do umiera: od czego umiera */
#define W_KWASIE 1024
#define OD_BOMBY 2048
/* rodzaj stanu */
#define CZYNNOSC 127 /* IDZIE + STOI + ... + UMIERA */
#define CZY_PRACUJE 256
#define CZY_WODA 512
#define CZY_KWAS 1024
#define CZY_OD_BOMBY 2048
#endif