Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2014, 23:46   #1
bradoladobar
Новичок
Джуниор
 
Регистрация: 29.05.2014
Сообщений: 2
По умолчанию Перемещение мин

Помогите разобраться в игре сапер
нужно что бы после клика,мины на поле поменяли свое место
у меня это вроде получилось,но как сделать,что бы цифры,которые указывали чисто мин после клика были в клетках написаны как 0

пишутся они так
Код:
                // если в соседних клетках есть мины,
                // указываем их количество
                if ((Pole[row, col] >= 101) && (Pole[row, col] <= 108))
                    g.DrawString((Pole[row, col] - 100).ToString(),
                        new Font("Tahoma", 10,
                            System.Drawing.FontStyle.Regular),
                        Brushes.Blue, x + 3, y + 2);
            }
 
        это  мины устанавливает 
       
        private void mins(int row,int col)
        {
            if(Pole[row,col]==9)
            {
                if (Pole[row,col+1]==0)
            {
                    Pole[row,col+1]=9;
                    Pole[row,col]=0;
                }
                else if (Pole[row+1,col]==0)
            {
                    Pole[row+1,col]=9;
                    Pole[row,col]=0;
                }
                else if (Pole[row+1,col+1]==0)
            {
                    Pole[row+1,col+1]=9;
                    Pole[row,col]=0;
                }
                else if (Pole[row, col - 1] == 0)
                {
                    Pole[row, col - 1] = 9;
                    Pole[row, col] = 0;
                }
                else if (Pole[row-1, col] == 0)
                {
                    Pole[row-1, col] = 9;
                    Pole[row, col] = 0;
                }
                else if (Pole[row - 1, col-1] == 0)
                {
                    Pole[row - 1, col-1] = 9;
                    Pole[row, col] = 0;
                }
            }
 
            this.findMin(row,col);
        }
        private void findMin(int row,int col)
        { 
            int n = 0;       // количество поставленных мин
            int k;
            int x, y;// координаты левого верхнего угла клетки
 
            x = (col - 1) * W + 1;
            y = (row - 1) * H + 1;
            
                // для каждой клетки вычислим кол-во 
                // мин в соседних клетках
                for (row = 1; row <= MR; row++)
                    for (col = 1; col <= MC; col++)
                        if (Pole[row, col] != 9)
                        {
                            k = 0;
 
                            if (Pole[row - 1, col - 1] == 9) k++;
                            if (Pole[row - 1, col] == 9) k++;
                            if (Pole[row - 1, col + 1] == 9) k++;
                            if (Pole[row, col - 1] == 9) k++;
                            if (Pole[row, col + 1] == 9) k++;
                            if (Pole[row + 1, col - 1] == 9) k++;
                            if (Pole[row + 1, col] == 9) k++;
                            if (Pole[row + 1, col + 1] == 9) k++;
 
                            Pole[row, col] = k;
                        }
 
                if ((Pole[row,col] >= 101) && (Pole[row, col] <= 108))
                    g.DrawString(n.ToString() ,
                        new Font("Tahoma", 10,
                            System.Drawing.FontStyle.Regular),
                        Brushes.Blue, x + 3, y + 2);
Вложения
Тип файла: rar Новая папка.rar (6.7 Кб, 7 просмотров)

Последний раз редактировалось Stilet; 30.05.2014 в 10:00.
bradoladobar вне форума Ответить с цитированием
Старый 30.05.2014, 05:39   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Такие вещи надо выкладывать проектом.
Также заведите привычку оформлять код правильно - кнопочка # в форме набора текста поста.
phomm вне форума Ответить с цитированием
Старый 30.05.2014, 09:42   #3
bradoladobar
Новичок
Джуниор
 
Регистрация: 29.05.2014
Сообщений: 2
По умолчанию

извините,не знал
Сможете помочь?
bradoladobar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mod просмотрите 1 мин! --Sashok-- Помощь студентам 2 26.03.2012 23:30
через 50 мин зачет shilven Помощь студентам 5 21.12.2011 14:42
Как использовать функцию МИН для поиска мин значения в массиве? clever77 Microsoft Office Excel 2 15.04.2011 11:04
мин-ый четный эл-т массива Arcueid1691 Общие вопросы C/C++ 4 10.09.2009 23:15