Esempio n. 1
0
 public myDividedArea(Vector2 iFirstBorder, Vector2 iEndBorder, myDividedArea iLinkToFather, myDividerType iNextType, int iNumberOfRandSamples)
 {
     m_divider_type = iNextType;
     mFirstBorder   = iFirstBorder;
     mEndBorder     = iEndBorder;
     mLinkToFather  = iLinkToFather;
     //mLeftChild = null;
     //mRightChild = null;
     numberOfRandSamples = iNumberOfRandSamples;
 }
Esempio n. 2
0
        public void myMakeWall(ArrayList iMap, Vector2 iPoint, myDividerType iTypeOfWall, ArrayList iEmptyPoints, Vector2 iFirstBoundary, Vector2 iEndBoundary)
        {
            bool flag_continue = true;
            int  w_counter     = 0;//wall counter
            int  m_start_point = 0;
            int  m_end_point   = 0;
            int  index_i_map   = 0;
            int  index_j_map   = 0;

            while (flag_continue)
            {
                if (iTypeOfWall == myDividerType.X)//wall on X
                {
                    m_start_point = (int)iFirstBoundary[1];
                    m_end_point   = (int)iEndBoundary[1];
                    index_i_map   = (int)iPoint[0];
                    index_j_map   = m_start_point + w_counter;
                }
                else //wall on Y
                {
                    m_start_point = (int)iFirstBoundary[0];
                    m_end_point   = (int)iEndBoundary[0];
                    index_i_map   = m_start_point + w_counter;
                    index_j_map   = (int)iPoint[1];
                }
                if (m_start_point + w_counter > m_end_point)
                {
                    flag_continue = false;
                }
                else
                {
                    setMapVal(iMap, index_i_map, index_j_map, (int)GridType.Wall);
                }
                w_counter++;
            }

            if (iEmptyPoints != null)
            {
                for (int i = 0; i < iEmptyPoints.Count; i++)
                {
                    Vector2 myEmptyPoint = (Vector2)iEmptyPoints[i];
                    if (myCheckOneWayPath(iMap, myEmptyPoint))
                    {
                        setMapVal(iMap, (int)myEmptyPoint[0], (int)myEmptyPoint[1], (int)GridType.Free);
                    }
                }
            }

            return;
        }
Esempio n. 3
0
        public void myMakeWall(ArrayList iMap, Vector2 iPoint, myDividerType iTypeOfWall, ArrayList iEmptyPoints, Vector2 iFirstBoundary, Vector2 iEndBoundary)
        {
            bool flag_continue = true;
            int w_counter = 0;//wall counter
            int m_start_point = 0;
            int m_end_point = 0;
            int index_i_map = 0;
            int index_j_map = 0;
            while (flag_continue)
            {
                if (iTypeOfWall == myDividerType.X)//wall on X
                {
                    m_start_point = (int) iFirstBoundary[1];
                    m_end_point = (int) iEndBoundary[1];
                    index_i_map = (int) iPoint[0];
                    index_j_map = m_start_point + w_counter;
                }
                else //wall on Y
                {
                    m_start_point = (int) iFirstBoundary[0];
                    m_end_point = (int) iEndBoundary[0];
                    index_i_map = m_start_point + w_counter;
                    index_j_map = (int) iPoint[1];
                }
                if (m_start_point + w_counter > m_end_point)
                {
                    flag_continue = false;
                }
                else
                {
                    setMapVal(iMap, index_i_map, index_j_map, (int) GridType.Wall);
                }
                w_counter++;
            }

            if (iEmptyPoints != null)
            {
                for (int i = 0; i < iEmptyPoints.Count; i++)
                {
                    Vector2 myEmptyPoint = (Vector2)iEmptyPoints[i];
                    if (myCheckOneWayPath(iMap, myEmptyPoint))
                    {
                        setMapVal(iMap, (int) myEmptyPoint[0], (int) myEmptyPoint[1], (int) GridType.Free);
                    }
                }
            }

            return;
        }
Esempio n. 4
0
 public myDividedArea(Vector2 iFirstBorder, Vector2 iEndBorder, myDividedArea iLinkToFather, myDividerType iNextType, int iNumberOfRandSamples)
 {
     m_divider_type = iNextType;
     mFirstBorder = iFirstBorder;
     mEndBorder = iEndBorder;
     mLinkToFather = iLinkToFather;
     //mLeftChild = null;
     //mRightChild = null;
     numberOfRandSamples = iNumberOfRandSamples;
 }
Esempio n. 5
0
 public myDividedArea(Vector2 iFirstBorder, Vector2 iEndBorder, myDividedArea iLinkToFather, myDividerType iNextType)
 {
     m_divider_type = iNextType;
     mFirstBorder = iFirstBorder;
     mEndBorder = iEndBorder;
     mLinkToFather = iLinkToFather;
     //mLeftChild = null;
     //mRightChild = null;
 }
Esempio n. 6
0
 public myDividedArea(Vector2 iFirstBorder, Vector2 iEndBorder)
 {
     m_divider_type = myDividerType.X;
     mFirstBorder = iFirstBorder;
     mEndBorder = iEndBorder;
     mLinkToFather = null;
     //mLeftChild = null;
     //mRightChild = null;
 }