Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Волновой алгоритм Delphi

Автор:   •  Январь 26, 2021  •  Задача  •  2,396 Слов (10 Страниц)  •  215 Просмотры

Страница 1 из 10

unit Chess;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Square: TLabel; //Образец одной клетки доски

StaticText1: TStaticText; //Для сообщений

procedure FormCreate(Sender: TObject);

procedure SquareClick(Sender: TObject);

procedure StaticText1DblClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

//==============================

var

Form1: TForm1;

{----------------------------------------------------------------}

{----------- Описание кольцевой очереди как объекта -------------}

{----------------------------------------------------------------}

Const

n=100; //Максимум элементов в очереди

Type

Para=Record //Пара координат

x,y:Integer;

End;

Data=Para; //Тип элементов очереди

TRing=Class(TObject) //Описываем класс очередей TRing

q:Array[0..n-1] of Data; //Массив для хранения элементов

Head:Integer; //Голова очереди

Tail:Integer; //Хвост очереди

Error:Boolean; //Номер ошибки

Constructor Create; //КОНСТРУКТОР (создаёт объект)

Procedure Put(a:Data); //Вставка данных в хвост очереди

Function Get:Data; //Извлечение данных из головы

Destructor Destroy; override; //ДЕСТРУКТОР (разрушает объект)

End;

{---------------------------------------------------------------}

implementation

{$R *.dfm}

//==============================

Const

m=10; //Размер шахматной доски

Var

//==============================

D:Array[0..m-1,0..m-1] Of TLabel; //Массив клеток доски

Ch:Array[0..m-1,0..m-1] Of String= //Начальная расстановка фигур

(('K', '', '', '', '', '', '', '', '', ''),

( '', '', '','Y','Y','Y', '', '', '', ''),

( '', '', '','Y', '','Y', '', '', '', ''),

( '', '', '','Y','Y','Y', '', '', '', ''),

( '', '', '', '', '', '', '', '', '', ''),

( '', '', '', '', '', '', '', '', '', ''),

( '', '', '', '', '', '', '', '', '', ''),

( '', '', '', '', '', '', '', '', '', ''),

( '', '', '', '', '', '', '', '', '', ''),

( '', '', '', '', '', '', '', '', '', ''));

Tag:Integer=0; //Начальные координаты коня (в m-ичном коде)

//Пара массивов ниже, содержит данные о 8 ходах коня.

//Определяется количество клеток, на которые надо смещать коня за 1 ход

StepX:Array[1..8] Of Integer = ( 1, 2, 2, 1,-1,-2,-2,-1); //по горизонтали

StepY:Array[1..8] Of Integer = ( 2, 1,-1,-2,-2,-1, 1, 2); //по вертикали

{----------------------------------------------------------------}

{---------- Создание процедур, обслуживающих очередь ------------}

{----------------------------------------------------------------}

...

Скачать:   txt (11.4 Kb)   pdf (56.1 Kb)   docx (14 Kb)  
Продолжить читать еще 9 страниц(ы) »
Доступно только на Essays.club