|
Вопрос # 5 681/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты! Прошу у вас помощи в написании класса фигуры для шахмат и ее конструктора. дело в том что я очекнь отстал от своей группы, потому что 2 недели валялся с ветрянкой. Моя группа уже выполняет движения фигур а я застрял на классе, у меня постоянно по 30 ошибок вылетает . я стираю и делаю заново и опять ошибки. в интернете пробовал поискать не смог. препод говорил что нужны от дельные типы. я сделал для Place:integer; color:string; доска состоит из панелек. прошу вас помощи, а то я очень плетусь в конце группы. и все остальные типы были заняты уже это единственное что я подобрал из свободных. картинки фигур в ресурсном файле.
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
Приложение: Переключить в обычный режим- unit Unit1;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ExtCtrls, StdCtrls;
-
- type
- TForm1 = class(TForm)
- procedure FormCreate(Sender: TObject);
- private
-
- { Private declarations }
- public
- { Public declarations }
- end;
- //--------------------------------------------------------------------
- TDoska=class(Tpanel) {ÊËÀÑÑ -
ÄÎÑÊÀ}
- private
- Dx,Dy:Integer;//
êîîðäèíàòû
êëåòêè
- public
- property PosX:Integer read Dx write Dx;
- property PosY:Integer read Dy write Dy;
- end;
- //-----------------------------------------------------------------------
- TFigura = class(TImage)
- private
- FPlace: Integer;
- FColor: string;
- constructor ConstructorName(PosX,PosY:Integer);
- end;
- //-----------------------------------------------------------------------
- var
- Form1: TForm1;
- PanelArray: array[1..8,1..8]of TPanel;
//ìàññèâ èç
ïàíåëåé
- PosX,PosY:Integer;
//ïîëîæåíèÿ
äëÿ ôèãóð
- LabelArray: array[1..32] of TLabel; //
ìàññèâ èç
ìåòîê
- NextTurn: string; //öâåò
- implementation
-
- {$R *.dfm}
-
- //----------------------------------------------------------------------------
- constructor TFigura.ConstructorName(PosX,PosY:integer);
- begin
- inherited Create(Form1);
- parent:=Form1;
- dragmode:= dmAutomatic
-
-
-
-
- end;
- procedure TForm1.FormCreate(Sender: TObject);
//ñîçäàíèå
ôîðìû
- var x,y,i:Integer;
//ïåðåìåííûå
- begin
- for x:=1 to 8 do //îòñ÷åò
ïî
ãîðèçîíòàëè
- for y:=1 to 8 do //îòñ÷åò
ïî
âåðòèêàëè
- begin
- PanelArray[x,y]:= TDoska.Create(Self);
//ñîçäàíèå
ïàíåëè
- with PanelArray[x,y] do
- begin
- parent:=form1;
//îïðåäåëåíèå
ðîäèòåëÿ
- PosX:=x;
- PosY:=y;
- Width:=50; //øèðèíà
è âûñîòà
- Height:=50;
- Top:=20+50*(y-1);
- Left:=20+50*(x-1);
- if (x+y) mod 2 = 1 then
//÷åðåäîâàíèå
öâåòîâ
- Color:=clBlack
//áåëîãî è
÷åðíîãî
- else Color:=clWhite;
- end;
-
-
-
- end;
- for i:=1 to 8 do //
ñîçäàíèå è
ðàññòàíîâêà
ìåòîê
- begin
- LabelArray[i]:=TLabel.create(Form1);
- LabelArray[i+8]:=TLabel.Create(Form1);
- LabelArray[i+16]:=TLabel.create(Form1);
- LabelArray[i+24]:=TLabel.create(Form1);
- LabelArray[i].Parent:=form1;
- LabelArray[i+8].Parent:=form1;
- LabelArray[i+16].Parent:=form1;
- LabelArray[i+24].Parent:=form1;
- LabelArray[i].Top:=41+(i-1)*50;
- LabelArray[i+8].Top:=41+(i-1)*50;
- LabelArray[i+16].Top:=424;
- LabelArray[i+24].Top:=6;
- LabelArray[i].Left:=5;
- LabelArray[i+8].Left:=429;
- LabelArray[i+16].Left:=41+(i-1)*50;
- LabelArray[i+24].Left:=41+(i-1)*50;
- LabelArray[i].Caption:=intToStr(9-i);
- LabelArray[i+8].Caption:=intToStr(9-i);
- LabelArray[i+16].Caption:=chr(64+i);
- LabelArray[i+24].Caption:=chr(64+i);
- end;
- end;
-
- end.
 |
Вопрос задал: Ruslan1993 (статус: Посетитель)
Вопрос отправлен: 18 октября 2011, 11:09
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 18 октября 2011, 11:20; участников в обсуждении: 1.
|
min@y™ (статус: Доктор наук), 18 октября 2011, 11:20 [#1]:
Цитата (Ruslan1993):
у меня постоянно по 30 ошибок вылетает
Самое важное не указал: какие ошибки и в каких строках.
Совет: пиши классы в отдельном модуле.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|