예제 #1
0
void TerrainTile::decode(const int bitset)
{
   reset();

   if (bitset & 0x1)
   {
      setTree(true);
   }
   if (bitset & 0x2)
   {
      setRock(true);
   }
   if (bitset & 0x4)
   {
      setWater(true);
   }
   if (bitset & 0x8)
   {
      setBuilding(true);
   }
   if (bitset & 0x10)
   {
      setTree(true);
   }
   if (bitset & 0x20)
   {
      // setGarden(true);
   }
   if (bitset & 0x40)
   {
      setRoad(true);
   }
   if (bitset & 0x100)
   {
      //setAqueduct(true);
   }
   if (bitset & 0x200)
   {
      //setElevation(true);
   }
   if (bitset & 0x400)
   {
       int i=0;
       setRock( true );
      //setAccessRamp(true);
   }
   if (bitset & 0x800)
   {
      //setMeadow(true);
   }
   if (bitset & 0x4000)
   {
      //setWall(true);
   }
}
예제 #2
0
void TerrainTile::decode(const int bitset)
{
  clearFlags();

  if (bitset & 0x1)    {  setTree(true);      }
  if (bitset & 0x2)    {  setRock(true);      }
  if (bitset & 0x4)    {  setWater(true);     }
  if (bitset & 0x8)    {  setBuilding(true);  }
  if (bitset & 0x10)   {  setTree(true);      }
  if (bitset & 0x20)   {  setGarden(true);    }
  if (bitset & 0x40)   {  setRoad(true);      }
  if (bitset & 0x100)  {  setAqueduct(true);  }

  if (bitset & 0x200)  {  setElevation(true); }
  if (bitset & 0x400)  {  setRock( true );    }
  if (bitset & 0x800)  {  setMeadow(true);    }
  if (bitset & 0x4000) {  setWall(true);      }
  if (bitset & 0x8000) {  setGateHouse(true); }
}
예제 #3
0
int GameMapRecrusive::generateCol(int rs, int cs, int re, int ce)
{
    int diff = ce-cs;

    if(diff<m_roomSize)
        return -1;

    int cc = rand(cs+m_roomSize/2-1, ce-m_roomSize/2);

    for(int r = rs; r < re; ++r)
    {
        setRock(r, cc);
    }

    return cc;
}
예제 #4
0
int GameMapRecrusive::generateRow(int rs, int cs, int re, int ce)
{
    int diff = re-rs;

    if(diff<m_roomSize)
        return -1;

    int rc = rand(rs+m_roomSize/2-1, re-m_roomSize/2);

    for(int c = cs; c < ce; ++c)
    {
        setRock(rc, c);
    }

    return rc;
}