Введение основная часть


Описание пользовательского интерфейса



Скачать 496.51 Kb.
страница11/14
Дата09.01.2018
Размер496.51 Kb.
Название файлаДокумент Microsoft Office Word.docx
ТипРеферат
1   ...   6   7   8   9   10   11   12   13   14
2.3.Описание пользовательского интерфейса

  • Файл → Новая игра – начало новой игры.

  • Файл → Выход – выход из программы.

  • Справка → О программе – Вывод дополнительной информации о программе и о её создателе.


2.4.Листинг программы

unit Unit1;

interface

uses

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



Dialogs, Menus, unit2, ExtCtrls, ComCtrls, unit3, StdCtrls, ImgList;

type


TForm1 = class(TForm)

MainMenu1: TMainMenu;

FileMenuItem: TMenuItem;

NewMenuItem: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

InformationMenuItem: TMenuItem;

AboutMenuItem: TMenuItem;

Panel1: TPanel;

Panel2: TPanel;

Panel3: TPanel;

Panel4: TPanel;

Panel5: TPanel;

Panel6: TPanel;

Panel7: TPanel;

Panel8: TPanel;

Panel9: TPanel;

Panel10: TPanel;

Timer1: TTimer;

ImageList1: TImageList;

procedure AboutMenuItemClick(Sender: TObject);

procedure Panel2Click(Sender: TObject);

procedure Panel5Click(Sender: TObject);

procedure Panel8Click(Sender: TObject);

procedure Panel3Click(Sender: TObject);

procedure Panel6Click(Sender: TObject);

procedure Panel9Click(Sender: TObject);

procedure Panel4Click(Sender: TObject);

procedure Panel7Click(Sender: TObject);

procedure Panel10Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure NewMenuItemClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N4Click(Sender: TObject);

private

{ Private declarations }



public

{ Public declarations }

end;

var


Form1: TForm1;

Implementation

{$R *.dfm}

procedure clean; // Процедура общего сброса ("Новая игра")

begin

Form1.Timer1.Enabled:=false; // Для надежности выключаем таймер



Form1.Panel2.BevelInner:=bvNone; // Меняем стиль панели на начальный

Form1.Panel2.Caption:=''; // Убираем заголовок панели

Form1.Panel3.BevelInner:=bvNone;

Form1.Panel3.Caption:='';

Form1.Panel4.BevelInner:=bvNone;

Form1.Panel4.Caption:='';

Form1.Panel5.BevelInner:=bvNone;

Form1.Panel5.Caption:='';

Form1.Panel6.BevelInner:=bvNone;

Form1.Panel6.Caption:='';

Form1.Panel7.BevelInner:=bvNone;

Form1.Panel7.Caption:='';

Form1.Panel8.BevelInner:=bvNone;

Form1.Panel8.Caption:='';

Form1.Panel9.BevelInner:=bvNone;

Form1.Panel9.Caption:='';

Form1.Panel10.BevelInner:=bvNone;

Form1.Panel10.Caption:='';

Form1.Tag:=0;

Form1.Timer1.Enabled:=true; // Возобновляем работу таймера

end;

procedure TForm1.AboutMenuItemClick(Sender: TObject);



begin

Form2.ShowModal; // Вызываем окно "О программе"

end;

procedure TForm1.Panel2Click(Sender: TObject);



begin

if Panel2.Caption'' then exit; // Проверка на заголовок панели (анти-мухлеж)

Panel2.BevelInner:=bvLowered; // Присваиваем стиль при нажатии на панель

if Form1.Tag=0

then // Меняем tag формы (для чередования X и O)

begin


Panel2.Caption:='X'; // если таг=0 тогда вписываем X

Form1.Tag:=1;

end

else


begin

Panel2.Caption:='O'; // если таг=1 тогда вписываем O

Form1.Tag:=0;

end;


end;

procedure TForm1.Panel5Click(Sender: TObject);

begin

if Panel5.Caption'' then exit;



Panel5.BevelInner:=bvLowered;

if Form1.Tag=0

then

begin


Panel5.Caption:='X';

Form1.Tag:=1;

end

else


begin

Panel5.Caption:='O';

Form1.Tag:=0;

end;


end;

procedure TForm1.Panel8Click(Sender: TObject);

begin

if Panel8.Caption'' then exit;



Panel8.BevelInner:=bvLowered;

if Form1.Tag=0

then

begin


Panel8.Caption:='X';

Form1.Tag:=1;

end

else


begin

Panel8.Caption:='O';

Form1.Tag:=0;

end;


end;

procedure TForm1.Panel3Click(Sender: TObject);

begin

if Panel3.Caption'' then exit;



Panel3.BevelInner:=bvLowered;

if form1.Tag=0

then

begin


Panel3.Caption:='X';

Form1.Tag:=1;

end

else


begin

Panel3.Caption:='O';

Form1.Tag:=0;

end;


end;

procedure TForm1.Panel6Click(Sender: TObject);

begin

if Panel6.Caption'' then exit;



Panel6.BevelInner:=bvLowered;

if form1.Tag=0

then

begin


Panel6.Caption:='X';

Form1.Tag:=1;

end

else


begin

Panel6.Caption:='O';

Form1.Tag:=0;

end;


end;

procedure TForm1.Panel9Click(Sender: TObject);

begin

if Panel9.Caption'' then exit;



Panel9.BevelInner:=bvLowered;

if form1.Tag=0

then

begin


Panel9.Caption:='X';

Form1.Tag:=1;

end

else


begin

Panel9.Caption:='O';

Form1.Tag:=0;

end;


end;

procedure TForm1.Panel4Click(Sender: TObject);

begin

if Panel4.Caption'' then exit;



Panel4.BevelInner:=bvLowered;

if Form1.Tag=0

then

begin


Panel4.Caption:='X';

Form1.Tag:=1;

end

else


begin

Panel4.Caption:='O';

Form1.Tag:=0;

end;


end;

procedure TForm1.Panel7Click(Sender: TObject);

begin

if Panel7.Caption'' then exit;



Panel7.BevelInner:=bvLowered;

if Form1.Tag=0

then

begin


Panel7.Caption:='X';

Form1.Tag:=1;

end

else


begin

Panel7.Caption:='O';

Form1.Tag:=0;

end;


end;

procedure TForm1.Panel10Click(Sender: TObject);

begin

if Panel10.Caption'' then exit;



Panel10.BevelInner:=bvLowered;

if Form1.Tag=0

then

begin


Panel10.Caption:='X';

Form1.Tag:=1;

end

else


begin

Panel10.Caption:='O';

Form1.Tag:=0;

end;


end;

procedure TForm1.Timer1Timer(Sender: TObject); // Процедура проверки на выигрыш;

begin

try // защита от непредвиденных ошибок



if (Panel2.BevelInner=bvLowered) and (Panel4.BevelInner=bvLowered) and (Panel3.BevelInner=bvLowered) then

// Если панели нажаты, то проверяем заголовки

if (Panel2.Caption=Panel3.Caption) and (Panel2.Caption=Panel4.Caption)

then


begin

Form3.Label1.Caption:=Form1.Panel2.Caption; // Если выигрышная комбинация то присваиваем Х или О в Лейбл формы поздравления

Form3.ShowModal; // Открываем окно поздравления ":-)"

clean; // Очистка игрового поля

end;

if (Panel7.BevelInner=bvLowered) and (Panel5.BevelInner=bvLowered) and (Panel6.BevelInner=bvLowered) then



if (Panel5.Caption=Panel6.Caption) and (Panel5.Caption=Panel7.Caption)

then


begin

Form3.Label1.Caption:=Form1.Panel5.Caption;

Form3.ShowModal;

clean;


end;

if (Panel9.BevelInner=bvLowered) and (Panel10.BevelInner=bvLowered) and (Panel8.BevelInner=bvLowered) then

if (Panel8.Caption=Panel9.Caption) and (Panel8.Caption=Panel10.Caption)

then


begin

Form3.Label1.Caption:=Form1.Panel10.Caption;

Form3.ShowModal;

clean;


end;

if (Panel5.BevelInner=bvLowered) and (Panel2.BevelInner=bvLowered) and (Panel8.BevelInner=bvLowered) then

if (Panel2.Caption=Panel5.Caption) and (Panel2.Caption=Panel8.Caption)

then


begin

Form3.Label1.Caption:=Form1.Panel2.Caption;

Form3.ShowModal;

clean;


end;

if (Panel9.BevelInner=bvLowered) and (Panel3.BevelInner=bvLowered) and (Panel6.BevelInner=bvLowered) then

if (Panel6.Caption=Panel3.Caption) and (Panel6.Caption=Panel9.Caption)

then


begin

Form3.Label1.Caption:=Form1.Panel3.Caption;

Form3.ShowModal;

clean;


end;

if (Panel4.BevelInner=bvLowered) and (Panel7.BevelInner=bvLowered) and (Panel10.BevelInner=bvLowered) then

if (Panel4.Caption=Panel7.Caption) and (Panel10.Caption=Panel4.Caption)

then


begin

Form3.Label1.Caption:=Form1.Panel4.Caption;

Form3.ShowModal;

clean;


end;

if (Panel6.BevelInner=bvLowered) and (Panel2.BevelInner=bvLowered) and (Panel10.BevelInner=bvLowered) then

if (Panel2.Caption=Panel6.Caption) and (Panel2.Caption=Panel10.Caption)

then


begin

Form3.Label1.Caption:=Form1.Panel2.Caption;

Form3.ShowModal;

clean;


end;

if (Panel6.BevelInner=bvLowered) and (Panel8.BevelInner=bvLowered) and (Panel4.BevelInner=bvLowered) then

if (Panel4.Caption=Panel6.Caption) and (Panel8.Caption=Panel4.Caption)

then


begin

Form3.Label1.Caption:=Form1.Panel4.Caption;

Form3.ShowModal;

clean;


end;

except;


end;

if (Panel2.BevelInner=bvLowered) and (Panel3.BevelInner=bvLowered) and (Panel4.BevelInner=bvLowered) and (Panel5.BevelInner=bvLowered) and (Panel6.BevelInner=bvLowered) and (Panel7.BevelInner=bvLowered) and (Panel8.BevelInner=bvLowered) and (Panel9.BevelInner=bvLowered) and (Panel10.BevelInner=bvLowered)

then

begin


Form1.Timer1.Enabled:=False;

ShowMessage ('Ничья, попробуйте ещё раз!');

clean;

end;


end;

procedure TForm1.NewMenuItemClick(Sender: TObject);

begin

clean; // Очистка игрового поля для новой игры



end;

procedure TForm1.FormCreate(Sender: TObject);

var

l:DWORD; // Процедура блокировки кнопки "Развернуть"



begin

l:=GetWindowLong(Self.Handle,GWL_STYLE);

l:=l and not(WS_MAXIMIZEBOX);

l:=SetWindowLong(Self.Handle,GWL_STYLE,l);

end;

procedure TForm1.N4Click(Sender: TObject);



begin

Close; // Выход из программы

end;

end.




Поделитесь с Вашими друзьями:
1   ...   6   7   8   9   10   11   12   13   14


База данных защищена авторским правом ©coolnew.ru 2019
обратиться к администрации

    Главная страница
Контрольная работа
Курсовая работа
Теоретические основы
Лабораторная работа
Методические указания
Общая характеристика
Рабочая программа
Теоретические аспекты
Пояснительная записка
Методические рекомендации
Практическая работа
Дипломная работа
Федеральное государственное
История развития
Основная часть
Общие сведения
Учебное пособие
Теоретическая часть
государственное бюджетное
Направление подготовки
Самостоятельная работа
Физическая культура
Методическая разработка
Практическое задание
Краткая характеристика
История возникновения
Выпускная квалификационная
квалификационная работа
государственное образовательное
бюджетное учреждение
Гражданское право
Название дисциплины
Российская академия
Общие положения
образовательное бюджетное
Современное состояние
прохождении учебной
история возникновения
образовательная организация
теоретические основы
Понятие сущность
Уголовное право
Общая часть
Правовое регулирование
Техническое задание
Методическое пособие
Фамилия студента
Финансовое планирование
Финансовое право
Российская федерация
Конституционное право