Beispiel #1
0
    void CheckInput()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            TogglePause();
        }

        if (Input.GetKeyDown(KeyCode.Keypad1))
        {
            m_activeShape.MoveLeft();
            if (!m_gameBoard.IsValidPosition(m_activeShape))
            {
                m_activeShape.MoveRight();
            }
        }
        else if (Input.GetKeyDown(KeyCode.Keypad2))
        {
            m_activeShape.MoveRight();
            if (!m_gameBoard.IsValidPosition(m_activeShape))
            {
                m_activeShape.MoveLeft();
            }
        }
        else if (Input.GetKey(KeyCode.Keypad3))
        {
            m_activeShape.MoveDown();
            if (!m_gameBoard.IsValidPosition(m_activeShape))
            {
                m_activeShape.MoveUp();
            }
        }
        else if (Input.GetKeyDown(KeyCode.Keypad4))
        {
            m_activeShape.RotateLeft();
            if (!m_gameBoard.IsValidPosition(m_activeShape))
            {
                m_activeShape.RotateRight();
            }
        }
        else if (Input.GetKeyDown(KeyCode.Keypad5))
        {
            m_activeShape.RotateRight();
            if (!m_gameBoard.IsValidPosition(m_activeShape))
            {
                m_activeShape.RotateLeft();
            }
        }
        else if (Input.GetKey(KeyCode.Keypad3) || Time.time > m_timeToDrop)
        {
            m_timeToDrop = Time.time + m_dropIntervalModded;
            m_activeShape.MoveDown();
            if (!m_gameBoard.IsValidPosition(m_activeShape))
            {
                if (m_gameBoard.IsOverTheLimit(m_activeShape))
                {
                    GameOver();
                }
                else
                {
                    LandShape();
                }
            }
        }
    }