С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Решение игры "вирус"? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чекер удаленных серверов на ОС http://www.cyberforum.ru/cpp/thread333001.html
Доброго времени суток. Я этот форум читаю уже достаточно давно, но все никак не приходилось здесь зарегистрироваться. Сейчас обращаюсь к вам с просьбой. Помогите написать программку, которая будет...
C++ Управляющая последовательность \f Уважаемые форумчане! Я давно изучаю язык С++, но пользуюсь только несколькими управ. последовательнотсями(в основном \n):-[. Недавно я хахотел узнать о др. последовательностях. В книге Шилдта "Полный... http://www.cyberforum.ru/cpp/thread331800.html
Записать в файл g целые числа b 1 , ..., b n , где при i = 1, 2, ..., n значение b i равно: i. C++
Дано натуральное n. Записать в файл g целые числа b 1 , ..., b n , где при i = 1, 2, ..., n значение b i равно: i.
C++ Quest3D 4.2.3
Приветсвую всех!!! Люди мне нужна помощь. Никак не могу найти в сети Quest3D 4.2.3.точнее нашел но все ссылки либо платные либо не работают.если кто может дать мне работующюю ссылку буду очень...
C++ Математика для программистов(НЕ АБСТРАКТНО) http://www.cyberforum.ru/cpp/thread331367.html
Уважаемые программисты! Какие книги рекамндуете по математике!
C++ Как сделать перезагрузку сайта с помощью таймера? ну во общем тут такое дело нужен код который будет отправлять запрос на сайт перезагружаться и опять оправлять запрос на сайт пример как тут webbrowser1.navigate(' '+edit1.text) webbrowser1.refresh ... подробнее

Показать сообщение отдельно
BadBaddak
89 / 16 / 3
Регистрация: 09.06.2010
Сообщений: 100
03.02.2012, 14:38  [ТС]
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
int zaragenie(char ColorVir)
{
    // перебор поля, чтобы определить сколько клеток можно заразить
    // дублируем с массива A на изменяемый B
    for ( i = 0; i < Strok; i ++ ){
        for ( j = 0; j < Stolb; j ++ ){
            B[i][j]=A[i][j];
        }
     }
 
     int flag=0;
     skolkozarazaem=0;
     while (flag==0) // хотя бы одна заразилась
     {
         for ( i = 0; i < Strok; i ++ )
         {
            for ( j = 0; j < Stolb; j ++ )
            {
                // заражаем соседние клетки
                if (B[i][j]=='.') {
                   
                    // заражаем клетку СНИЗУ
                    if (i<Strok && B[i+1][j]==ColorVir){
                        B[i+1][j]='.';
                        skolkozarazaem++;
                        flag=1;
                    }
 
                    // заражаем клетку СВЕРХУ
                    if (i>0 && B[i-1][j]==ColorVir){
                        B[i-1][j]='.';
                        skolkozarazaem++;
                        flag=1;
                    }
 
                    // заражаем клетку СПРАВА
                    if (j<Stolb && B[i][j+1]==ColorVir){
                        B[i][j+1]='.';
                        skolkozarazaem++;
                        flag=1;
                    }
 
                    // заражаем клетку СЛЕВА
                    if (j>0 && B[i][j-1]==ColorVir){
                        B[i][j-1]='.';
                        skolkozarazaem++;
                        flag=1;
                    }
                }
            }
         }
         if (flag==0) return skolkozarazaem;
         flag=0;
     }
}
Вот функция заражения. В неё передаётся цвет вируса, возвращается количество заражаемых клеток. Глядя на экран человек выбирает какой именно цвет надо заразить, происходит заражение и массив B переписывается в массив А. Всё повторяется.
Но это ручное заражение на основании ближайших клеток. Может сделать не "больше клеток заразить" а какое-нибудь другое условие?
0
Миниатюры
Решение игры "вирус"?  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.