Do spisu modułów

2.4. Moduł Plansza

 

Osoby pracujące nad modułem

  Autor: Michał Żmijewski  
  Weryfikator: Anna Doroś  
  Tester: Damian Wójtowicz  

Poczatek


Klasa Plansza

#include <Plansza.h>

Atrybuty obiektowe:

  • wejscie
- współrzędne wejścia
  • wyjscie
- współrzędne wyjścia
  • rozmiar
- rozmiar planszy - świata
  • swiatAktualny
- plansza z której pobiera się informacje o aktualnym świecie gry
  • swiatNowy
- plansza na którą nanoszone są zmiany terenu
  • robic_zmiany
- gdy jest równa 1 będzie dokonywana aktualizacja planszy dopiero po odbiorze impulsu wpp. na bierząco
  • lista_zmian
- lista z informacją o zmienionych polach
  • iter_zmian
- iterator naniesionych zmian wskazuje nie naniesioną jeszcze zmiane

Funkcje publiczne:

  • Plansza(const Param_plansza& info,int zmiana=1,typ_teren tlo=0)
  • typ_teren jakiTeren(const Para x)
  • void ustawTeren(const Para x,const typ_teren z)
  • typ_teren jakieTlo(const Para x)
  • void ustawTlo(const Para x,const typ_teren z)
  • int ileJestElementowRodzaju(const Para x,const typ_rodzaj z)
  • void wstawElementRodzaju(const Para x,const typ_rodzaj z)
  • int usunElementRodzaju(const Para x,const typ_rodzaj z)
  • Para wspolrzedneWejscia()
  • Para wspolrzedneWyjscia()
  • void wspolrzedneWejscia(Para x)
  • void wspolrzedneWyjscia(Para x)
  • Para rozmiarPlanszy()
  • int listaZmian(typ_lista_zmian &l)
  • int czyAktualizacjaCykliczna()
  • int odbierzImpuls()

Wyjątki:

  • PozaPlansza
- wyjątek odwołania się poza obszar planszy
  • Brak_pamieci
- wyjątek braku pamieci

Plansza(const Param_plansza& info,int zmiana=1,typ_teren tlo=0)
Tworzy na podstawie Param_plansza swiatAktualny i swiatNowy
zmiana=1 oznacza ze plansza będzie aktualizowana po każdym wywołaniu odbierzImpuls, wpp. tzn. gdy zmiana!=1 aktualizacja planszy nastepuje bezposrednio po naniesionej zmianie. (Aktualizacja tyczy się tylko terenu)
tlo(typ_teren) określa jaki rodzaj terenu ma być przyjęty jako podkład terenu właściwego (Uwaga! w przypadku gdy typ_teren nie jest int-em tło terenu jest pamiętane w dodatkowym polu, zmiana tła jest nanoszona wtedy na bierzaco,a w swiacieNowym jest zapamiętany obecny teren (to dla zmian po odbiorze Impulsu). Agdy gdy typ_teren jest int-em jest wersja optymalna - wszystko jest pamiętane w jednym polu teren gdzie teren=tlo*MNOZNIK_TLA+teren.)

Poczatek