Example #1
0
        private void remove_full_lines(Field field)
        {
            int shift = 0;

            for (int i = field.return_size()[1] - 1; i >= 0; i--)
            {
                int quantity = 0;
                for (int j = 0; j < field.return_size()[0]; j++)
                {
                    if (field.cell_exist(new int[2] {
                        j, i
                    }))
                    {
                        quantity++;
                    }
                }
                if (quantity == 10)
                {
                    for (int j = 0; j < field.return_size()[0]; j++)
                    {
                        field.remove_cell(new int[2] {
                            j, i
                        });
                    }
                    shift++;
                }
                else if (shift > 0)
                {
                    for (int j = 0; j < field.return_size()[0]; j++)
                    {
                        if (field.cell_exist(new int[2] {
                            j, i
                        }))
                        {
                            field.move_cell(new int[2] {
                                j, i
                            }, 0, shift);
                        }
                    }
                }
            }
            score = Convert.ToInt32(Math.Pow(shift, 2));
        }