МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Программа Клон

    быстрой связи клиентских мест с некоторыми популярными промышленными

    серверами баз данных без BDE (компоненты страницы dbExpress).

    Таким образом, основой идей Delphi 6 является обеспечение перехода от

    дорогих патентованных решений корпорацииMicrosoft к бесплатным (или почти

    бесплатным) решениям на базе Linux.

    2.Специальная часть.

    2.1.Описание алгоритмической модели.

    2.1.1.Входные данные.

    Данная программа игрового типа “Клон” не требует никаких входных

    данных. Игрок просто запускает *.exe-файл и сразу перед ним появляется

    окно на котором располагается игровое поле. Для начала игры нужно нажать

    кнопку ”Новая игра”. Чтобы завершить игру нужно нажать кнопку “Q” или

    нажатием мышкой на крестик окна.

    2.1.2 Выходные данные.

    Выходными данными является окно “Результат” (Рис. 3), которое

    появляется при заполнении всего поля фишками, как на рисунке

    представленном ниже.

    Рис. 3 Окно “Результат”

    Рис. 4 Полностью забитое поле.

    2.2 Целевое назначение процедур и функций.

    |Название процедуры |Параметры |Назначение процедуры |

    | |процедуры | |

    |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;

    //----------------------------------------------------------------------

    -------

    //Возвращение рисунка для синих фишек

    if (a[i,j]=0) then

    if button=mbLeft then

    begin

    if (abs(i-vi)255)and (vj<>255) then

    begin

    image2.Canvas.StretchDraw(b[vi,vj],image1.picture.bitmap);

    vi:=255; vj:=255;

    end;

    a[i,j]:=1;

    end;

    for ai:=i-1 to i+1 do //проверка близлежащих фишек КРАСНЫХ

    for aj:=j-1 to j+1 do

    if (ai>=0) and (aj>=0)and (ai=0)and(n>=0)and(m255)and(v2j<>255) then

    begin

    image2.Canvas.StretchDraw(b[v2i,v2j],image3.picture.bitmap);

    v2i:=255; v2j:=255;

    end;

    end;

    a[i,j]:=2;

    for a2i:=i-1 to i+1 do //проверка близлежащих фишек СИНИХ

    for a2j:=j-1 to j+1 do

    if (a2i>=0)and(a2j>=0)and(a2i=0)and(n>=0)and(m=0)and(n>=0)and(m<=9)and(n<=9) then

    begin

    if (a[m,n]=1) then blue:=blue+1; //счет синих

    if (a[m,n]=2) then red:=red+1; //счет красных

    kol:=red+blue;

    end;

    if kol=100 then

    form5.show;

    m:=0;n:=0;kol:=0;

    end;

    //----------------------------------------------------------------------

    -------

    procedure TForm1.Button1Click(Sender: TObject);

    var i,j:byte;

    begin

    for i:=0 to 9 do

    for j:=0 to 9 do

    begin

    image2.Canvas.StretchDraw(b[i,j],image5.picture.bitmap);

    a[i,j]:=0;

    end;

    begin

    image2.Canvas.StretchDraw(b[0,0],image1.picture.bitmap);

    a[0,0]:=1;

    image2.Canvas.StretchDraw(b[0,9],image3.picture.bitmap);

    a[0,9]:=2;

    image2.Canvas.StretchDraw(b[9,9],image1.picture.bitmap);

    a[9,9]:=1;

    image2.Canvas.StretchDraw(b[9,0],image3.picture.bitmap);

    a[9,0]:=2;

    end;

    end;

    procedure TForm1.FormCreate(Sender: TObject);

    VAR I,J:BYTE;

    begin

    hod:=true;

    for i:=0 to 9 do

    for j:=0 to 9 do

    begin

    b[i,j].Left:=i*(image1.Width);

    b[i,j].top:=j*(image1.Height);

    b[i,j].Bottom:=b[i,j].Top+image1.Height;

    b[i,j].Right:=b[i,j].Left+image1.Width

    end;

    end;

    procedure TForm1.Button2Click(Sender: TObject);

    begin

    form2.show;

    end;

    procedure TForm1.Button3Click(Sender: TObject);

    begin

    close;

    end;

    end.

    unit Unit2;

    interface

    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

    Forms,

    Dialogs, StdCtrls, ComCtrls;

    type

    TForm2 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Button1: TButton;

    Label5: TLabel;

    procedure Button1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form2: TForm2;

    implementation

    {$R *.dfm}

    procedure TForm2.Button1Click(Sender: TObject);

    begin

    close;

    end;

    end.

    unit Unit3;

    interface

    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

    Forms,

    Dialogs, StdCtrls, Buttons;

    type

    TForm3 = class(TForm)

    Label1: TLabel;

    BitBtn1: TBitBtn;

    procedure BitBtn1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form3: TForm3;

    implementation

    {$R *.dfm}

    procedure TForm3.BitBtn1Click(Sender: TObject);

    begin

    close;

    end;

    end.

    unit Unit4;

    interface

    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

    Forms,

    Dialogs, StdCtrls, Buttons;

    type

    TForm4 = class(TForm)

    BitBtn1: TBitBtn;

    Label1: TLabel;

    procedure BitBtn1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form4: TForm4;

    implementation

    {$R *.dfm}

    procedure TForm4.BitBtn1Click(Sender: TObject);

    begin

    close;

    end;

    end.

    unit Unit5;

    interface

    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

    Forms,

    Dialogs, StdCtrls, Grids;

    type

    TForm5 = class(TForm)

    Label1: TLabel;

    Button1: TButton;

    Edit2: TEdit;

    Label2: TLabel;

    Label3: TLabel;

    Edit1: TEdit;

    Button2: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form5: TForm5;

    implementation

    uses unit1;

    {$R *.dfm}

    procedure TForm5.Button1Click(Sender: TObject);

    begin

    edit1.text:=inttostr(blue);

    edit2.text:=inttostr(red);

    end;

    procedure TForm5.Button2Click(Sender: TObject);

    begin

    close;

    end;

    end.

    -----------------------

    [pic]

    [pic]

    Страницы: 1, 2


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.