Dokumentace třídy BombicMap

Mapa hry Bombic. ...

#include <map.h>

Diagram tříd pro BombicMap:

Collaboration graph
[vysvětlivky]

Seznam všech členů.

Veřejné typy

typedef QPoint Field
 Policko mapy (souradnice v jednotkach policek).
typedef QList< BombicMapObject * > ObjectListT
 Seznam objektu mapy.

Veřejné sloty

void setGeneratedBoxesCount (BombicMapObject *box, int count)
 Nastavit pocet boxu k nahodnemu vygenerovani.
void setGeneratedCreaturesCount (BombicMapObject *creature, int count)
 Nastavit pocet priser k nahodnemu vygenerovani.
void setGeneratedBonusesCount (BombicMapObject *bonus, int count)
 Nastavit pocet bonusu k nahodnemu vygenerovani.
void setModified (bool modified=true)
 Nastavit jestli byla mapa zmenena.

Signály

void generatedBoxAdded (BombicMapObject *object)
 Pridana generovana bedna.
void generatedCreatureAdded (BombicMapObject *object)
 Pridana generovana prisera.
void generatedBonusAdded (BombicMapObject *object)
 Pridan generovany bonus.
void generatedBoxRemoved (BombicMapObject *object)
 Odstranena generovana bedna.
void generatedCreatureRemoved (BombicMapObject *object)
 Odstranena generovana bedna.
void generatedBonusRemoved (BombicMapObject *object)
 Odstranen generovany bonus.

Veřejné metody

 BombicMap (const QString &name, int width, int height, BombicMapBackground *background, const QString &filename="")
 Konstrukce prazdne mapy.
BombicMapcreateCopy (const QString &newBackground)
 Vytvorit kopii mapy s jinym pozadim.
BombicMapcreateCopy (int newWidth, int newHeight)
 Vytvorit kopii mapy s jinymi rozmery.
 ~BombicMap ()
 Destrukce mapy a jejich objektu.
bool canInsert (BombicMapObject *object, const BombicMap::Field &dstField)
 Test zda lze vlozit objekt do mapy.
void insert (BombicMapObject *object, const BombicMap::Field &dstField)
 Vlozit objekt do mapy.
void remove (BombicMapObject *object)
 Odstranit objekt z mapy.
BombicMapObjectobjectOnTop (const BombicMap::Field &field)
 Objekt na vrchu policka.
const ObjectListTobjectsOnField (const BombicMap::Field &field)
 Seznam objektu na policku.
MapObjectGeneratorboxGenerator (const BombicMap::Field &field)
 Generator beden na policku.
MapObjectGeneratorcreatureGenerator (const BombicMap::Field &field)
 Generator priser na policku.
MapObjectGeneratorbonusGenerator (const BombicMap::Field &field)
 Generator bonusu na policku.
const ObjectListTgeneratedBoxes ()
 Vsechny boxy, ktere se v mape nahodne generuji.
const ObjectListTgeneratedCreatures ()
 Vsechny prisery, ktere se v mape nahodne generuji.
const ObjectListTgeneratedBonuses ()
 Vsechny bonusy, ktere se v mape nahodne generuji.
void updateGeneratorsBlocking (const Field &field)
 Obnovit blokovani generatoru policka.
const QString & name ()
 Jmeno mapy.
const QString & filename ()
 Soubor, do ktereho se ma mapa ulozit.
void setName (const QString &name)
 Jmeno mapy.
void setFilename (const QString &filename)
 Soubor, do ktereho se ma mapa ulozit.
const QRect & fieldsRect ()
 Obdelnik mapy (v jednotkach policek).
BombicMapBackgroundbackground ()
 Pozadi mapy.
bool wasModified ()
 Jestli byla mapa zmenena.

Privátní typy

typedef QVector< QVector
< FieldSetT > > 
FieldsT
 Typ matice policek mapy.

Privátní metody

void insertBackgroundWalls ()
 Vlozit zdi pozadi do mapy.
void updateGeneratorsBlocking (const FieldSetT &fieldSet)
 Pokusit se odblokovat generovani.
void setGeneratedObjectsCount (ObjectListT &objList, BombicMapObject *object, int count)
 Nastavit pocet objektu k nahodnemu vygenerovani.
void addGeneratedMapObject (ObjectListT &objList, BombicMapObject *object)
 Pridat objekt k vygenerovani.
void removeGeneratedMapObject (ObjectListT &objList, BombicMapObject *object)
 Odstranit objekt k vygenerovani.

Privátní atributy

QString name_
 Jmeno mapy.
QString filename_
 Soubor, do ktereho se pripadne mapa ulozi.
QRect fieldsRect_
 Obdelnik mapy (v jednotkach policek).
ObjectListT generatedBoxes_
 Seznam generovanych beden.
ObjectListT generatedCreatures_
 Seznam generovanych priser.
ObjectListT generatedBonuses_
 Seznam generovanych bonusu.
BombicMapBackgroundbackground_
 Pozadi mapy.
FieldsT fields_
 Matice policek mapy, velikost odpovida fieldsRect_.
bool modified_
 Jestli je mapa editovana.

Třídy

struct  FieldSetT
 Mnozina reprezentujici jedno policko. ...


Detailní popis

Mapa hry Bombic.

Udrzuje strukturu mapy, rozlozeni objektu mapy. V mape, jak je ulozena na disku jsou napevno umistene objekty a objekty, ktere se pri konstrukci mapy ve hre nahodne vygeneruji. V mape lze urcit, na ktera policka lze tyto objekty generovat, a na ktera ne. Vzhledem k tomu, ze lze generovat pouze prisery, bedny a bonusy, je implementace primo zamerena na tento konkretni pripad. U kazdeho policka jsou tedy vedeny generatory, kazdy z nich rika, zda-li lze na policku objekt generovat. Nasledne je BombicMap vizualizovana skrze MapScene.


Dokumentace k členským typům

typedef QPoint BombicMap::Field

Policko mapy (souradnice v jednotkach policek).

Seznam objektu mapy.

typedef QVector< QVector< FieldSetT > > BombicMap::FieldsT [private]

Typ matice policek mapy.


Dokumentace konstruktoru a destruktoru

BombicMap::BombicMap ( const QString &  name,
int  width,
int  height,
BombicMapBackground background,
const QString &  filename = "" 
)

Konstrukce prazdne mapy.

Zkonstruuje mapu o rozmerech width, height s pozadim background. Nova mapa se stava vlastnikem background a to bude dealokovano pri destrukci mapy. Nove zkonstruovana mapa obsahuje pouze obvodove zdi pozadi a inicializovane generatory objektu (vsechna policka povolena pro generovani).

Parametry:
name nazev mapy
width sirska mapy v polickach
height vyska mapy v polickach
background pointer na pozadi
filename soubor, do ktereho se ma mapa ulozit

Tato funkce volá...

BombicMap::~BombicMap (  ) 

Destrukce mapy a jejich objektu.

Dealokuje vsechny (pevne i generovane) objekty mapy a pozadi.

Tato funkce volá...


Dokumentace k metodám

BombicMap * BombicMap::createCopy ( const QString &  newBackground  ) 

Vytvorit kopii mapy s jinym pozadim.

Parametry:
newBackground nazev noveho pozadi
Návratová hodnota:
Nove alokovana mapa s novym pozadim.
Vracené hodnoty:
0 Mapu nebylo mozne vytvorit.

Tato funkce volá...

BombicMap * BombicMap::createCopy ( int  newWidth,
int  newHeight 
)

Vytvorit kopii mapy s jinymi rozmery.

Parametry:
newWidth nova sirka mapy
newHeight nova vyska mapy
Návratová hodnota:
Nove alokovana mapa s novymi rozmery.
Vracené hodnoty:
0 Mapu nebylo mozne vytvorit.

Tato funkce volá...

bool BombicMap::canInsert ( BombicMapObject object,
const BombicMap::Field dstField 
)

Test zda lze vlozit objekt do mapy.

Kontroluje, zda se objekt vejde do mapy (podle BombicMapObject::size() a BombicMapObject::toplapping()) a zda muze byt vkladany objekt na policku zaroven s objekty, ktere jiz jsou na polickach, do kterych objekt zasahuje (BombicMapObject::canBeWith()).

Parametry:
object vkladany objekt
dstField policko, na ktere chceme vlozit objekt (leve horni objektu)
Návratová hodnota:
Zda muze byt objekt vlozen.

Tato funkce volá...

Tuto funkci volají...

void BombicMap::insert ( BombicMapObject object,
const BombicMap::Field dstField 
)

Vlozit objekt do mapy.

Vlozi objekt do mapy. Kontroluje pouze, jestli se objekt do mapy vejde. Nekontroluje toplapping objektu, a ostatni objekty na zasazenych polickach (viz BombicMap::canInsert()). Pokud objekt blokuje generovani, obstara i blokovani generatoru. Prebira vlastnictvi object, ktery bude dealokovan v destruktoru mapy.

Parametry:
object vkladany objekt
dstField policko, na ktere chceme vlozit objekt (leve horni objektu)

Tato funkce volá...

Tuto funkci volají...

void BombicMap::remove ( BombicMapObject object  ) 

Odstranit objekt z mapy.

Odstrani objekt ze vsech policek, na kterych lezi. Vlastnictvi objektu prechazi na volajiciho, objekt jiz nebude dealokovan v destruktoru mapy. Obnovuje blokovani generatoru.

Parametry:
object odstranovany objekt

Tato funkce volá...

Tuto funkci volají...

BombicMapObject * BombicMap::objectOnTop ( const BombicMap::Field field  ) 

Objekt na vrchu policka.

Pokud je policko field a neni prazdne, ziska vrchni objekt na policku. Poradi objektu na policku je dano poradim pridavani do mapy (LIFO). Vyjimku tvori floorobject (objekt na zemi), ktery je v dusledku soucasti pozadi, proto se do mapy pridava jako spodni prvek policka.

Parametry:
field policko, jehoz objekt chceme ziskat
Návratová hodnota:
Objekt, ktery lezi navrchu policka.
Vracené hodnoty:
0 Policko neni v mape nebo je prazdne.

Tuto funkci volají...

const BombicMap::ObjectListT & BombicMap::objectsOnField ( const BombicMap::Field field  ) 

Seznam objektu na policku.

@ details Seznam objektu na policku (objekty zustavaji vlastnictvim mapy).

Poradi objektu v seznamu je dano poradim na policku, zpusobene poradim pridavani do mapy.

Parametry:
field policko, jehoz objekty chceme ziskat
Návratová hodnota:
Seznam objektu na policku.
Pozor:
field musi byt uvnitr mapy - neni provadena zadna kontrola

Tuto funkci volají...

MapObjectGenerator * BombicMap::boxGenerator ( const BombicMap::Field field  ) 

Generator beden na policku.

Na kazdem policku vedeme zaznam o tom, zda lze na tomto policku generovat bedny. Toto je dotaz na strukturu konkretniho policka. Vracena struktura zustava ve vlastnictvi mapy.

Parametry:
field policko, o nemz chceme informace
Návratová hodnota:
Generator beden.
Vracené hodnoty:
0 Zadane policko neni v mape.

Tuto funkci volají...

MapObjectGenerator * BombicMap::creatureGenerator ( const BombicMap::Field field  ) 

Generator priser na policku.

Na kazdem policku vedeme zaznam o tom, zda lze na tomto policku generovat prisery. Toto je dotaz na strukturu konkretniho policka. Vracena struktura zustava ve vlastnictvi mapy.

Parametry:
field policko, o nemz chceme informace
Návratová hodnota:
Generator priser.
Vracené hodnoty:
0 Zadane policko neni v mape.

MapObjectGenerator * BombicMap::bonusGenerator ( const BombicMap::Field field  ) 

Generator bonusu na policku.

Na kazdem policku vedeme zaznam o tom, zda lze na tomto policku generovat bonusy. Toto je dotaz na strukturu konkretniho policka. Vracena struktura zustava ve vlastnictvi mapy.

Parametry:
field policko, o nemz chceme informace
Návratová hodnota:
Generator bonusu.
Vracené hodnoty:
0 Zadane policko neni v mape.

Tuto funkci volají...

const BombicMap::ObjectListT & BombicMap::generatedBoxes (  ) 

Vsechny boxy, ktere se v mape nahodne generuji.

Návratová hodnota:
Seznam vsech beden, ktere maji byt v mape generovany.

Tuto funkci volají...

const BombicMap::ObjectListT & BombicMap::generatedCreatures (  ) 

Vsechny prisery, ktere se v mape nahodne generuji.

Návratová hodnota:
Seznam vsech priser, ktere maji byt v mape generovany.

Tuto funkci volají...

const BombicMap::ObjectListT & BombicMap::generatedBonuses (  ) 

Vsechny bonusy, ktere se v mape nahodne generuji.

Návratová hodnota:
Seznam vsech bonusu, ktere maji byt v mape generovany.

Tuto funkci volají...

void BombicMap::updateGeneratorsBlocking ( const Field field  ) 

Obnovit blokovani generatoru policka.

Podle aktualne umistenych (i generovanych) objektu na policku field nastavi blokovani generatoru.

Parametry:
field policko, pro ktere se ma obnovit blokovani

Tuto funkci volají...

const QString & BombicMap::name (  ) 

Jmeno mapy.

Návratová hodnota:
Jmeno mapy.

Tuto funkci volají...

const QString & BombicMap::filename (  ) 

Soubor, do ktereho se ma mapa ulozit.

Návratová hodnota:
Soubor, do ktereho mapu ulozit.

Tuto funkci volají...

void BombicMap::setName ( const QString &  name  ) 

Jmeno mapy.

Parametry:
name nove jmeno mapy

Tuto funkci volají...

void BombicMap::setFilename ( const QString &  filename  ) 

Soubor, do ktereho se ma mapa ulozit.

Parametry:
filename nove jmeno souboru

Tuto funkci volají...

const QRect & BombicMap::fieldsRect (  ) 

Obdelnik mapy (v jednotkach policek).

Návratová hodnota:
Obdelnik mapy (v jednotkach policek).

Tuto funkci volají...

BombicMapBackground * BombicMap::background (  ) 

Pozadi mapy.

Vraceny pointer zustava ve vlastnictvi mapy a bude dealokovan v destruktoru mapy.

Návratová hodnota:
Pozadi mapy.

Tuto funkci volají...

bool BombicMap::wasModified (  ) 

Jestli byla mapa zmenena.

Návratová hodnota:
Zda byla mapa zmenena.

Tuto funkci volají...

void BombicMap::setGeneratedBoxesCount ( BombicMapObject box,
int  count 
) [slot]

Nastavit pocet boxu k nahodnemu vygenerovani.

Nastavi pocet beden stejneho druhu jako box pro generovani. Tento pocet se tedy tyka beden, ktere maji shodny BombicMapObject::name().

Parametry:
box prototyp bedny, jejiz pocet pro generovani nastavujeme
count novy pocet generovanych beden zadaneho druhu

void BombicMap::setGeneratedCreaturesCount ( BombicMapObject creature,
int  count 
) [slot]

Nastavit pocet priser k nahodnemu vygenerovani.

Nastavi pocet priser stejneho druhu jako creature pro generovani. Tento pocet se tedy tyka priser, ktere maji shodny BombicMapObject::name().

Parametry:
creature prototyp prisery, jejiz pocet pro generovani nastavujeme
count novy pocet generovanych priser zadaneho druhu

void BombicMap::setGeneratedBonusesCount ( BombicMapObject bonus,
int  count 
) [slot]

Nastavit pocet bonusu k nahodnemu vygenerovani.

Nastavi pocet bonusu stejneho druhu jako bonus pro generovani. Tento pocet se tedy tyka bonusu, ktere maji shodny BombicMapObject::name().

Parametry:
bonus prototyp bonusu, jehoz pocet pro generovani nastavujeme
count novy pocet generovanych bonusu zadaneho druhu

void BombicMap::setModified ( bool  modified = true  )  [slot]

Nastavit jestli byla mapa zmenena.

Parametry:
modified jestli byla mapa zmenena (novy stav mapy)

void BombicMap::generatedBoxAdded ( BombicMapObject object  )  [signal]

Pridana generovana bedna.

void BombicMap::generatedCreatureAdded ( BombicMapObject object  )  [signal]

Pridana generovana prisera.

void BombicMap::generatedBonusAdded ( BombicMapObject object  )  [signal]

Pridan generovany bonus.

void BombicMap::generatedBoxRemoved ( BombicMapObject object  )  [signal]

Odstranena generovana bedna.

void BombicMap::generatedCreatureRemoved ( BombicMapObject object  )  [signal]

Odstranena generovana bedna.

void BombicMap::generatedBonusRemoved ( BombicMapObject object  )  [signal]

Odstranen generovany bonus.

void BombicMap::insertBackgroundWalls (  )  [private]

Vlozit zdi pozadi do mapy.

Do mapy vlozi obvodove zdi definovane pozadim background_.

Tuto funkci volají...

void BombicMap::updateGeneratorsBlocking ( const FieldSetT fieldSet  )  [private]

Pokusit se odblokovat generovani.

Podle aktualne umistenych (i generovanych) objektu na policku field nastavi blokovani generatoru.

Parametry:
fieldSet policko (jeho obsah), pro ktere se ma obnovit blokovani

Tato funkce volá...

void BombicMap::setGeneratedObjectsCount ( ObjectListT objList,
BombicMapObject object,
int  count 
) [private]

Nastavit pocet objektu k nahodnemu vygenerovani.

Nastavi pocet objektu stejneho druhu jako object pro generovani. Tento pocet se tedy tyka objektu, ktere maji shodny BombicMapObject::name().

Parametry:
objList seznam generovanych objektu
object prototyp objektu, jehoz pocet pro generovani nastavujeme
count novy pocet generovanych objektu zadaneho druhu

Tato funkce volá...

void BombicMap::addGeneratedMapObject ( ObjectListT objList,
BombicMapObject object 
) [private]

Pridat objekt k vygenerovani.

Prida generovany objekt do seznamu. Vlastnictvi objektu prechazi na mapu a objekt bude dealokovan v destruktoru mapy nebo pri odstranovani ze seznamu. Vyvola signal generatedMapObjectAdded().

Parametry:
objList seznam generovanych objektu
object pridavany objekt
Viz také:
removeGeneratedMapObject()

Tato funkce volá...

Tuto funkci volají...

void BombicMap::removeGeneratedMapObject ( ObjectListT objList,
BombicMapObject object 
) [private]

Odstranit objekt k vygenerovani.

Odstrani generovany objekt ze seznamu. Vyvola signal generatedMapObjectRemoved().

Parametry:
objList seznam generovanych objektu
object odstranovany objekt

Tato funkce volá...

Tuto funkci volají...


Dokumentace k datovým členům

QString BombicMap::name_ [private]

Jmeno mapy.

QString BombicMap::filename_ [private]

Soubor, do ktereho se pripadne mapa ulozi.

QRect BombicMap::fieldsRect_ [private]

Obdelnik mapy (v jednotkach policek).

Seznam generovanych beden.

Seznam generovanych priser.

Seznam generovanych bonusu.

Pozadi mapy.

Matice policek mapy, velikost odpovida fieldsRect_.

bool BombicMap::modified_ [private]

Jestli je mapa editovana.


Dokumentace pro tuto třídu byla generována z následujících souborů:

Generováno Mon May 24 21:58:41 2010 pro projekt Bombic 2 map editor programem  doxygen 1.5.6