Autor Zpráva
Kryvosa
Profil *
Tak jsem tu zase, stále se stejným problémem. Tentokrát konkrétně:
Mám Objekt gameGrid, který funguje jako souřadnicový systém, přičemž každé políčko má podobjekty:
gameGrid[10][12].field
gameGrid[10][12].building
gameGrid[10][12].solider
To jsou ještě stále objekty :)
Někdy by se uživatel rozhodl postavit si dům:
gameGrid[10][12].building=new Building("house","red")
A v Building() bych potřeboval takovouto podmínku:
if(gameGrid[10][12].field.canBuild)gameGrid[10][12].field.canBuild=false
  else return;

Nějaké návrhy, jak to udělat bez toho, abych si jako jednu z proměnných posílal do funkce buď souřadnice [10][12] nebo objekt gameGrid[10][12]?
Kubo2
Profil
Kryvosa:

Sprav to ešte v tom kontexte, kde si vytváraš new Building(). Ak som správne pochopil, objekt Building() má predstavovať budovu, a nemá sa teda starať o to, či sa niečo dá postaviť na políčku, kde je postavená. To si musí zabezpečiť okolitá aplikácia, ktorá s objektom pracuje.
Kryvosa
Profil *
Takže bych si měl přidat:
gameGrid[10][12].build=function(type,color)
{
if (this.field.canBuild)this.field.canBuildé=false;
  else return;
this.building=new Building(type.color);
}
Tahle by to fungoval ideálně, jen bych se chtěl zaptat: Vadí nějak nekonečný odkaz na sama sebe? Něco jako:
var mujObjekt={}
    mujObjekt.odkazNaSebe=mujObjekt
Může to působit problémy?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0