#include <constants.h>
#include "map_resource_handler.h"
#include "resource_handler_functions.h"
#include "../resource_handler.h"
#include "../bombic/map.h"
#include "../bombic/map_object.h"
#include "../bombic/map_background.h"
#include "../generators/map_object_generator.h"
#include "../bombic/wall.h"
Definice maker | |
#define | MRH_PLAYERS_COUNT 4 |
Pocet hracu (deathmatche) nacitanych z mapy. | |
#define | MRH_FOREACH_SIBLING_ELEMENT(itEl, firstEl) |
Cyklus pres vsechny sousedni elementy stejneho jmena. | |
#define | MRH_FOREACH_FIELD(map, field) |
Smycka pres vsechny policka mapy. | |
#define | MRH_FOREACH_OBJECT_KIND(typeIt, kindIt, objectsByType) |
Smycka pres vsechny druhy objektu. | |
#define | MRH_FOREACH_PLAYER(it, players) |
Smycka pres vsechny hrace. |
#define MRH_FOREACH_FIELD | ( | map, | |||
field | ) |
Hodnota:
for(BombicMap::Field field = map->fieldsRect().topLeft() ; \ field.x() <= map->fieldsRect().right() ; \ ++field.rx()) \ for(field.ry() = map->fieldsRect().top() ; \ field.y() <= map->fieldsRect().bottom() ; \ ++field.ry())
Iteruje pres vsechny policka mapy map
promennou cyklu field
Zacina v hornim levem rohu, pokracuje pres vsechny sloupce a v kazdem sloupci postupuje dolu. Promenna cyklu field
by nemela byt definovana, protoze je definovana a inicializovana zde.
map | mapa, jejiz policka prochazime. | |
field | jmeno promenne cyklu |
#define MRH_FOREACH_OBJECT_KIND | ( | typeIt, | |||
kindIt, | |||||
objectsByType | ) |
Hodnota:
for( ObjectsByTypeT::const_iterator typeIt = objectsByType.begin() ; \ typeIt != objectsByType.end() ; ++typeIt) \ for( ObjectsByNameT::const_iterator kindIt = typeIt->begin() ; \ kindIt != typeIt->end() ; ++kindIt)
Iteruje pres vsechny typy objektu v objectsByType
(promenna typeIt
) a v kazdem typu pres vsechny druhy objektu (ridici promenna kindIt
). Promenne cyklu typeIt
a kindIt
by nemely byt definovany, protoze jsou definovany a inicializovana zde. Jsou definovany jako iteratory do hash tabulky, takze pouzijte nasledujici konstrukce: * typ objektu: typeIt.key()
* druh (jmeno) objektu: kindIt.key()
* pozice umisteni objektu: kindIt->positions
* pocet generovanych objektu: kindIt->generated
typeIt | jmeno ridici promenne prvniho cyklu pres typy objektu | |
kindIt | jmeno ridici promenne druheho cyklu pres druhy objektu | |
objectsByType | struktura objektu podle typu pres kterou iterujeme |
#define MRH_FOREACH_PLAYER | ( | it, | |||
players | ) |
Hodnota:
for( ObjectsByNameT::const_iterator it = players.begin() ; \
it != players.end() ; ++it)
Iteruje pres vsechny hrace v players
Promenna cyklu it
by nemela byt definovana, protoze je definovana a inicializovana zde. Je definovana jako iterator do hash tabulky, takze pouzijte nasledujici konstrukce: * druh (jmeno) hrace: it.key()
* pozice (seznam) umisteni objektu: it->positions
* pozice (jedna) umisteni objektu: it->positions.first()
it | jmeno ridici promenne | |
players | hraci podle jmena, pres ktere iterujeme |
#define MRH_FOREACH_SIBLING_ELEMENT | ( | itEl, | |||
firstEl | ) |
Hodnota:
for(QDomElement itEl = firstEl; \
!itEl.isNull() ; \
itEl = itEl.nextSiblingElement(firstEl.tagName()) )
Vytvori cyklus zacinajici firstEl
, ktery postupne projde vsechny sousedni (sibling) elementy stejneho jmena ( tagName()
) jako firstEl
. Promenna cyklu itEl
by nemela byt definovana, protoze je definovana a inicializovana zde.
itEl | jmeno iteracni promenne cyklu | |
firstEl | prvni (inicializacni) element |
#define MRH_PLAYERS_COUNT 4 |
Pocet hracu (deathmatche) nacitanych z mapy.