Delphi уроки - создаём простую игру.Часть 1

Опубиковано: 07.01.2009 г., автор: , просмотров: 82849

    Delphi игра - урок по созданию простой игры. Часть №1.

    Сейчас мы займемся написанием простой графической игрушки, суть которой за отведенное время успеть найти все фигуры одинакового цвета. Не знаю как более точно передать смысл этой игры... в общем, дальше вы все сами поймете)

    Если захотите узнать стоимость SEO услуг, то посетите сайт netsend.ru.

    Как всегда открываем Delphi и создаем новый проект. Сразу кидаем на форму компонент DrawGrid с закладки Additional. У него нам нужно изменить ряд свойств:

    1. Свойство ColCount - сделайте равным 20
    2. Свойство RowCount - тоже 20
    3. Свойство DefaultColWidth = 20
    4. Свойство DefaultRowHeight = 20
    5. FixedCols = 0
    6. FixedRows = 0
    7. DefaultDrawing = False

    В итоге у вас должно получиться что то похожие.

    Теперь мы должны произвольно присвоить каждой ячейке определенный цвет. Всего цветов у нас будет 3 (красный, зеленый и синий).

    Переходим в код и выше ключевого слова var вставляем вот такой код

    const
    MAX_COLORS = 3;
    const
    PossibleColors : array [0..MAX_COLORS-1] of TColor = (clRed, clBlue, clGreen);

    Далее, нам понадобиться создать двухмерный массив, в ячейках которого будут храниться цвета соответствующих квадратов. т.к. размер игровой области у нас 20 на 20, соответственно и массив у нас будет такой же размерности. Но для начала давайте объявим парочку констант в которых будет храниться размер игровой области. Опять же над ключевым словом var напишем следующий код:

    Const
    MAX_COLUMNS = 20;
    MAX_ROWS = 20;

    А теперь создадим массив. Делать мы это будем после ключевого слова var т.е. сразу же после:

    var
    Form1: TForm1;

    Пишем:

    ColorOfBrick : array [0..MAX_COLUMNs, 0..MAX_ROWS] of TColor;

    Двигаемся дальше, сейчас нам нужно создать процедуру которая будет при запуске игры случайным образом назначать квадратам соответствующие цвета. После ключевого слова public пишем

    procedure AssignBrickColors;

    Нажимаем комбинацию клавиш CTRL+SHIFT+C ...вуаля и Delphi создал шаблон для нашей будущей процедуры. В дальнейшем я не буду подробно рассказывать о процессе создания новой процедуры или функции, если вы вдруг что ни будь забудете вернитесь на это место. Теперь когда шаблон для процедуры у вас уже создан посмотрите на то что должно из неё получиться в итоге и добавьте недостающие строчки.

    procedure TForm1.AssignBrickColors;
    var
    i, j : integer;
    begin
    for i := 0 to Form1.DrawGrid1.ColCount-1 do
    for j := 0 to Form1.DrawGrid1.RowCount-1 do
    ColorOfBrick[i][j] := PossibleColors[Random(MAX_COLORS)]
    end;

    Справились ? я надеюсь что да ! Давайте дадим возможность игроку начинать новую игру тогда когда он этого захочет, для этого киньте на форму компонент Button (кнопка) с закладки Standard и сразу же измените у него свойство Caption на "Новая Игра". Создаем обработчик событий OnClick на кнопке, кликнув на ней два раза. Между begin и end пропишите:

    AssignBrickColors;

    Конечно же при запуске, также необходимо начинать новую игру, поэтому создаем обработчик событий onCreate на форме, опять же между begin end пишем:

    Randomize;
    Button1.Click;

    Ну и напоследок создайте обработчик событий OnDrawCell на компоненте DrawGrid напишите там

    DrawGrid1.Canvas.Brush.Color := ColorOfBrick[ACol][ARow];
    DrawGrid1.Canvas.FillRect(Rect)

    Запускаем проект, вот что получилось у меня:

    Конец 1-ой части

     



    Похожие материалы

    Последние из рубрики

    Стабильная работа, высокая оплата! 10 May 2017 в 01:23 #
    Интересная работа, зарплата высокая!

    Вы работаете дома! Полностью честно и прозрачно;
    Доступно для всех - неважно кто вы и какой у вас опыт работы в интернете!
    Вы будете зарабатывать: свыше четырёх тысяч рублей в день!
    Сложность: Несложно!
    Оплата: - уже на следующий деньги у вас на счету!

    Ознакомтесь с условиями на нашем сайте. > realno-money.tk
    Предлагаю. Постоянный доход на дому без опыта! 29 Apr 2016 в 14:30 #
    Предлагаю Вам возможность работы (подработки) в интернете, выбирайте самостоятельно более чем из тридцати проверенных вариантов заработка наиболее удобный и близкий Вам.
    Более подробная информация на нашем сайте.
    _
    Ваш Реальный заработок в интернете без затрат! 21 Mar 2016 в 17:19 #
    Предлагаю Вам возможность работы (подработки) в интернете, выбирайте самостоятельно более чем из тридцати проверенных вариантов заработка наиболее удобный и близкий Вам.
    Более подробная информация на нашем сайте. mnogo.zarplatt
    _
    Артур 18 Mar 2016 в 10:00 #
    Радик ты что нибудь понял?
    wllbxz1 insurance 24 Feb 2016 в 06:57 #
    slu5i6ds

    yr0pis7p

    b38d0s0fa

    fto2350p

    vrqpcatx

    ОтменитьДобавить комментарий

    • подоконники из мрамора по ссылке
      mramor.com.ua