Beispiel #1
0
        private void UPBTN_Click(object sender, EventArgs e)
        {
            m_PlayerDirecton = E_DirectionType.UP;

            if (ISMove(m_PlayerPos.X, m_PlayerPos.Y - 1))
            {
                int posx = m_PlayerPos.X;
                int posy = m_PlayerPos.Y;

                if (ISBox(posx, posy - 1))
                {
                    if (ISBoxMove(m_PlayerPos.X, m_PlayerPos.Y - 2))
                    {
                        MoveBox(posx, posy - 1, posx, posy - 2);

                        CurrentBOXStageData[posy, posx]     = ' ';
                        CurrentBOXStageData[posy - 1, posx] = 'p';
                        m_PlayerPos.Y -= 1;
                    }
                }
                else
                {
                    CurrentBOXStageData[posy, posx]     = ' ';
                    CurrentBOXStageData[posy - 1, posx] = 'p';
                    m_PlayerPos.Y -= 1;
                }
            }

            //Render();
            this.Invalidate();
        }
Beispiel #2
0
    protected void SetActorMove(E_DirectionType p_movetype)
    {
        Vector3 offsetpos = Vector3.zero;

        switch (p_movetype)
        {
        case E_DirectionType.Up:
            offsetpos = Vector3.forward * 2;     // 앞 방향으로 1 이동 * 2
            break;

        case E_DirectionType.Down:
            offsetpos = Vector3.back * 2;     // 뒤 방향으로 1 이동 * 2
            break;

        case E_DirectionType.Left:
            offsetpos = Vector3.left * 2;     // 왼쪽 방향으로 1 이동 * 2
            break;

        case E_DirectionType.Right:
            offsetpos = Vector3.right * 2;     // 오른쪽 방향으로 1 이동 * 2
            break;

        default:
            Debug.LogErrorFormat("SetActorMove Error : {0}", p_movetype);    // 잘못된 입력시 출력
            break;
        }
        this.transform.position += offsetpos;
    }
Beispiel #3
0
        private void LeftBTN_Click(object sender, EventArgs e)
        {
            m_PlayerDirecton = E_DirectionType.Left;

            if (ISMove(m_PlayerPos.X - 1, m_PlayerPos.Y))
            {
                //int posx = m_PlayerPos.X;
                //int posy = m_PlayerPos.Y;

                //CurrentStageData[posy, posx] = ' ';
                //CurrentStageData[posy, posx - 1] = 'p';
                //m_PlayerPos.X -= 1;


                int posx = m_PlayerPos.X;
                int posy = m_PlayerPos.Y;

                if (ISBox(posx - 1, posy))
                {
                    if (ISBoxMove(m_PlayerPos.X - 2, m_PlayerPos.Y))
                    {
                        MoveBox(posx - 1, posy, posx - 2, posy);

                        CurrentBOXStageData[posy, posx]     = ' ';
                        CurrentBOXStageData[posy, posx - 1] = 'p';
                        m_PlayerPos.X -= 1;
                    }
                }
                else
                {
                    CurrentBOXStageData[posy, posx]     = ' ';
                    CurrentBOXStageData[posy, posx - 1] = 'p';
                    m_PlayerPos.X -= 1;
                }
            }

            Render();
            this.Invalidate();
        }
Beispiel #4
0
        private void DownBTN_Click(object sender, EventArgs e)
        {
            m_PlayerDirecton = E_DirectionType.Down;

            if (ISMove(m_PlayerPos.X, m_PlayerPos.Y + 1))
            {
                //int posx = m_PlayerPos.X;
                //int posy = m_PlayerPos.Y;

                //CurrentStageData[posy, posx] = ' ';
                //CurrentStageData[posy + 1, posx] = 'p';
                //m_PlayerPos.Y += 1;

                int posx = m_PlayerPos.X;
                int posy = m_PlayerPos.Y;

                if (ISBox(posx, posy + 1))
                {
                    if (ISBoxMove(m_PlayerPos.X, m_PlayerPos.Y + 2))
                    {
                        MoveBox(posx, posy + 1, posx, posy + 2);

                        CurrentBOXStageData[posy, posx]     = ' ';
                        CurrentBOXStageData[posy + 1, posx] = 'p';
                        m_PlayerPos.Y += 1;
                    }
                }
                else
                {
                    CurrentBOXStageData[posy, posx]     = ' ';
                    CurrentBOXStageData[posy + 1, posx] = 'p';
                    m_PlayerPos.Y += 1;
                }
            }

            Render();
            this.Invalidate();
        }