#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.
1.5.6