C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Урок 5. Кидаем три шарика (метод Throw3Balls) / Lines / Примеры разработки

Игра Lines (Visual C++. MFC)
Урок 5. Кидаем три шарика (метод Throw3Balls)

Нам нужна функция, которая выкидывает на поле три шарика случайных цветов. Добавим её в наш класс CLinesDoc. Для этого вызываем контекстном меню для класса CLinesDoc и выбираем в нем Add Member Function:

Добавление метода

В появившемся диалоге Add Member Function вводим тип функции (bool) и её имя с параметрами:

Добавление метода

Нажмите OK. Новая функция появится на вкладке ClassView:

ClassView

Сделайте на ней двойной щелчок для перехода в окно редактора. В сгенерированную заготовку введите следуюший код:

bool CLinesDoc::Throw3Balls(int iNum)
{
    int x, y;//место, в которое кидаем шарик
    int iColor; //цвет шарика
    if(iNum!=0){
        for(int i=0;i<iNum;i++){
            //выбор свободного места
            do{
                x=rand()%m_iNumOfRows;
                y=rand()%m_iNumOfRows;
            }while(m_field[x][y]!=0);
            //выбор цвета
            iColor=rand()%m_iNumOfColors+1;
            SetField(x,y,iColor); //ставим шарик нужного цвета
        }
        return true;
    }
    else{
        AfxMessageBox("Игра закончена!");
        return false;
    }
}

Этот метод возвратит true, если шарик удалось кинуть на поле хотя бы один шарик, и false, если свободных клеточек нет. В качестве параметра он принимает iNum - сколько шариков надо кидать (чаще всего оно равно трём, но в начале игры - пяти, а в самом конце игры может оказаться равным и двум или одному, в зависимости от того, сколько свободных клеточек осталось).

Обратите внимание, что для установки шарика на поле вызывается метод SetField:

            ...
            SetField(x,y,iColor); //ставим шарик нужного цвета
            ...

Этого метода пока нет. Его мы напишем в следующем уроке.