Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Рисование поля для различных игр

Введение | Глава 1 | Построение графиков элементарных функций | В случайных местах | Движение двоичного образа по фоновой картинке | В динамических приложениях | Перемещение картинок | События от мыши | Движение образа по удерживанию левой кнопки мыши | Код клавиши |


Читайте также:
  1. AMERICAN DJ PUNCH LED PROДанный прибор генерирует различные цветовые сцены. Может использоваться на сцене, в клубе и в различных других инсталляциях.
  2. III. Направление развития. Экономическая оценка различных видов обогрева.
  3. А) заключается в сравнении величин емкости, измеренных при двух различных частотах;
  4. а) Использование различных типов гидротурбин в соответствии с напорами.
  5. Ампутация и экзаргикуляция. Виды ампутаций в зависимости от использования различных тканей для формирования культи. Особенности ампутаций конечностей в детском возрасте.
  6. Антитромботическая терапия при различных подходах к реперфузионному лечению ИМпST
  7. Б) Аналоговые противопоставления различных лексических единиц

Во многих игровых проектах таких, как «Крестики-нолики», «Сапер», «Морской бой» и других, игровое пространство представляет собой поле в клеточку заданного размера. Напишем свою процедуру DrawPole и будем использовать ее по мере необходимости. Входными параметрами для этой процедуры являются число клеток n по горизонтали (по вертикали то же самое), число h – размер одной клетки в пикселах и координаты левого верхнего угла поля
(х 0, у 0). Рисовать будем на форме.

 

procedure DrawPole (n, h, x0, y0: integer);

var i, j, x, y: integer;

begin

for i:= 1 to n do

begin

y:=y0 + (i – 1)*h;

for j:= 1 to n do

begin

x:=x0 + (j – 1)*h;

with Form1.Canvas do

begin

Pen.Color:= ClBlack;

Brush.Color:= ClWhite;

Brush.Style:= BsSolid;

Rectangle(x, y, x + h, y + h);

end;

end;

end;

end;

Для вызова процедуры DrawPole (n, h, x0, y0) надо задать константы n и h, а также начальные значения глобальных переменных x 0, y 0. Начальные данные зададим в методе формы Сreate.

procedure TForm1.FormCreate(Sender: TObject);

begin

x0:=10;

y0:=10;

end;

Метод формы Сreate не позволяет выводить изображение на форму, поэтому можно организовать вывод поля несколькими способами. Один из способов – вывести изображение по щелчку кнопки. Другой способ заключается в использовании события формы Paint. Рассмотрим второй способ. Выберите среди событий (Events) формы событие Paint и кликните дважды справа в выбранной строке. Откроется обработчик метода Paint, и в нем напишите:

DrawPole (n, h, x0, y0);

Результат работы программы приведен на рис. 9.

 

Рис. 9. Поле для игровых проектов

 

Задание. Положите на форму компонент TPaintBox, установите программным путем его размеры (свойства Width и Height), равными размерам поля. Выведите поле на PaintBox 1. Как надо изменить формулы для нахождения х и у? Нужны ли в этом случае х 0 и у 0?


Дата добавления: 2015-08-20; просмотров: 49 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Рисование узоров| Для построения графиков

mybiblioteka.su - 2015-2024 год. (0.005 сек.)