Exemplo n.º 1
0
        public void Move_block_right() // Moving block right
        {
            try
            {
                for (int l = 0; l < block.Right_sensor_right().Length; l++)
                {
                    if (matrix_crate[block.Right_sensor_right()[l], block.Right_sensor_right()[l + 1]].Get_colour_name() != bgColour) // Checking if a block won't hit another block
                    {
                        move_left = false;
                    }
                    l++;
                }

                if (move_left)
                {
                    for (int i = 0; i < block.Return_coordinates().Length; i++)
                    {
                        matrix_crate[block.Return_coordinates()[i], block.Return_coordinates()[i + 1]].Change_colour(bgColour); // Blanking the old positon block
                        i++;
                    }

                    block.Block_coordinates_right(); // Moving right the coordinates of falling block

                    for (int i = 0; i < block.Return_coordinates().Length; i++)
                    {
                        matrix_crate[block.Return_coordinates()[i], block.Return_coordinates()[i + 1]].Change_colour(colour); // Displaying the new position block
                        i++;
                    }
                }
                else
                {
                    move_left = true;
                }
            }

            catch (System.IndexOutOfRangeException)
            {
            }
        }