Komponente - dancsi/AGame GitHub Wiki

Dijagram

  • Graphics - Ilija
  • Input & Input Buffer - Nikola
  • Manager - Dimitrije
  • Engine - Stefan
  • Network & Server - Daniel, Kristina

Ovo su (otprilike) klase / metode / funkcije koje mi se cini da ce biti potrebne drugim komponentama. Svi nek dopisu sta ce im trebati / misle da nije potrebno / moze bolje / ...

Engine

Object

Predstavlja jedan objekat koji postoji u igri (kvadratic, zid)
(virtuelna?) klasa, nasledjuju Square i Wall
TYPE getType() - ocito
point getPos() - isto

State

Kompletno trenutno stanje igre, tj. svi objekti koji postoje
Sadrzi skup Object-a (recimo vector)
void setAcceleration(...)     - Postavlja ubrzanje nekog kvadratica na novu vrednost
void recalculate(int newTime) - update-uje state, tako da je od pocetka proslo newTime
neki nacin da se pristupi pojedinacnim objektima (kao const-ovima) - za grafiku, recimo (npr const Object& operator[])

Graphics

void initialiseGraphics(...)               - odradi sta god je potrebno na pocetku programa (napravi prozor, ...)
void destroyGraphics()                     - pocisti sve sto grafika koristi (posle izvrsavanja programa)
void drawState(State &state, int currTime) - nacrta state (u trenutku currTime)

Input

Input Buffer

Kada se napravi (kao instanca), popunjava se sam.
int size()     - koliko preostaje u buffer-u
char getNext() - vraca najstariji karakter u buffer-u i brise ga

Network

Nisam siguran kako bismo ovo uradili, mozda slicno kao input buffer?