Программа Клон
|
|formmouseup |(Sender: TObject;|Процедура выполняет большинство |
| |Button: |всех операций, проверок и условий|
| |TMouseButton; |во всей программе, она является |
| |Shift: |основополагающей всей программы, |
| |TShiftState; X, |выполняет проверку нажатий левой |
| |Y: Integer) |и правой клавишей мыши, в |
| | |соответствии с чем выполняет те |
| | |или иные операции, а в частности |
| | |копирование нужных рисунков |
| | |(*.bmp) в нужную ячейку, после |
| | |установки нужного рисунка |
| | |выполняет проверку близлежащих |
| | |ячеек около установленного |
| | |рисунка, а также проверяет всё |
| | |поле на наличие той или иной |
| | |ситуации на всём игровом поле. |
|TForm1.Button1Click |(Sender: TObject)|описывает кнопку «Новая игра», |
| | |при нажатии на которую, все поле|
| | |заполняется пустыми ячейками |
| | |(пустыми элементами поля) и по |
| | |углам устанавливаются 2-синих и |
| | |2-красных фишки, относительно |
| | |друг друга стоят по диагонали. |
|TForm1.FormCreate |(Sender: TObject)|присваивает элементам массива |
| | |(b:byte) координаты ячеек поля и |
| | |адрес ячейки в массиве |
| | |сопоставлен ячейке на поле. |
| | |procedure |
| | |TForm1.Button2Click(Sender: |
| | |TObject) – при нажатии на кнопку |
| | |[?] выводится информация о |
| | |программе на Form2. |
|TForm1.Button2Click |(Sender: TObject)|при нажатии на кнопку [?] |
| | |выводится информация о программе |
| | |на Form2. |
| | | |
|TForm2.Button1Click |(Sender: TObject)|на Form2 расположена кнопка |
| | |[понял], которая закрывает окно |
| | |справки о программе. |
|TForm3.BitBtn1Click |(Sender: TObject)|описывает графическую кнопку |
| | |[победа] с рисунком , которая |
| | |закрывает Form3. |
|TForm4.BitBtn1Click |(Sender: TObject)|описывает графическую кнопку |
| | |[победа] с рисунком, которая |
| | |закрывает Form4. |
|TForm5.Button1Click |(Sender: TObject)|описывает кнопку, которая |
| | |закрывает форму сообщения о том, |
| | |что поле полностью заполнено |
| | |(Form5). |
Во всех выше перечисленных процедурах используется параметр Sender,
который передается во все обработчики событий компонентов Delphi как
объект – источник события и имеющий тип TObject.
2.3 Инструкция по выполнению программы.
Для запуска программы необходимо найти и двойным щелчком мыши
нажать на exe-файл. После запуска программы появится окно на котором
располагаются клеточное поле десять на десять, кнопка “Новая игра”,
кнопка ”?” - помощь и кнопка “Q” – выход. Для того чтобы начать игру
необходимо нажать на кнопку “Новая игра”, после чего на поле в четырех
углах появятся фишки две красных и две синих друг против друга, крест на
крест. Передвижение фишек по полю осуществляется путем нажатия на левую и
правую кнопки мыши. Синие фишки передвигаются левой кнопкой, а красные
правой кнопкой мыши. Прежде чем ходить, фишка выделяется желтым цветом,
это значит, что она сейчас ходит, а отменить выделение можно путем
нажатия на противоположную кнопку мыши. Игра “Клон” означает клонирование
или размножение фишек. Фишки могут ходить лишь в пределах двух ячеек, в
соседнею ячейку они копируются, а через ячейку они прыгают.
Перекрашивание происходит так, если в пределах двух ячеек вокруг фишки
стоят чужие, то они перекрашиваются. Игра закончится тогда, когда на поле
останутся фишки одного цвета или все поле будет заполнено и тогда
выдается счет красных и синих фишек. Кнопка ”?” при нажатии на которую
появляется окно в котором вкратце описано в чем заключается игра. Кнопка
“Q” закрывает игровое окно.
2.4 Сообщения программы.
В процессе работы программы возможна активизация окон-сообщений:
1. Данное диалоговое окно активизируется, когда синие фишки
произвели «перекрашивание» всех красных фишек, все операции необходимые
для этого описаны
2. Данное диалоговое окно активизируется, когда красные фишки
произвели «перекрашивание» всех синих фишек, все операции необходимые
для этого описаны
3. Данное диалоговое окно активизируется, когда все поле
заполнено, и некуда ходить, то выводится счет красных и синих фишек
4. Окно активизируется при нажатии на кнопку [?] – о программе
3. Список использованной литературы.
1. Архангельский А. Я. Delphi 5: “Справочное пособие”;
2. Фаронов В. В. “Delphi 5: учебный курс” М: Издательство ”Нолидж”,
1999;
3. В.В. Фаронов «Delphi 6»;
4. Н. Культин «Программирование в Turbo Pascal 7.0 и Delphi »;
5. Н. Культин «Delphi. Программирование на Object Pascal» -
издательство ”БВХ-Петербург”, 2001.
Заключение.
Во время создания игры “Клон” мы познали дополнительные возможности
Delphi. Несмотря на наши сомнения, программа получилась оригинальной, с
хорошим пользовательским интерфейсом. Конечно, она может дорабатываться и
улучшаться. Эта игра в будущем может быть очень популярна. Мы подумываем
над сетевыми возможностями этой игры, в которую смогут играть в
обеденный перерыв бухгалтеры разных фирм.
Таким образом, программирование с использованием среды Delphi,
позволило нам составить игру “Клон” довольно просто и быстро. Игра
получилась достаточно компактной, не требовательная к ресурсам машины,
очень проста в обращении и развивающая умственные способности человека.
Среда программирования Delphi – это сложный механизм, обеспечивающий
высокоэффективную работу программиста.
Приложение.
4.1 Схема алгоритма.
4.2 Текст программы.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,
Grids, ExtCtrls, Buttons, Menus, StdCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
image3: TImage;
Image2: TImage;
Button1: TButton;
Image4: TImage;
Image5: TImage;
Button2: TButton;
Button3: TButton;
procedure formmouseup(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a: array [0..9,0..9] of byte;
b: array [0..9,0..9] of trect;
vi,vj,v2i,v2j:byte;
red,blue:integer;
hod:boolean;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.DFM}
procedure TForm1.formmouseup(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
i,j:byte;
ai,aj,a2i,a2j:integer;
kol,m,n:integer;
begin
blue:=0;
red:=0;
kol:=0;
i:=x div (image1.height);
j:=y div (image1.height);
//----------------------------------------------------------------------
---------
//При нажатии активная синяя фишка (левой клавишей)
if hod=true then
BEGIN
if (a[i,j]=1) then
begin
if button=mbLeft then
begin
image2.Canvas.StretchDraw(b[i,j],image4.picture.bitmap);
Vi:=i;
Vj:=j;
end
else
begin
image2.Canvas.StretchDraw(b[i,j],image1.picture.bitmap);
end;
end;
//-------------------------
| | скачать работу |
Программа Клон |