Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 681

Раздел: Delphi » Прочее
/ вопрос открыт /

Доброго времени суток, уважаемые эксперты! Прошу у вас помощи в написании класса фигуры для шахмат и ее конструктора. дело в том что я очекнь отстал от своей группы, потому что 2 недели валялся с ветрянкой. Моя группа уже выполняет движения фигур а я застрял на классе, у меня постоянно по 30 ошибок вылетает . я стираю и делаю заново и опять ошибки. в интернете пробовал поискать не смог. препод говорил что нужны от дельные типы. я сделал для Place:integer; color:string; доска состоит из панелек. прошу вас помощи, а то я очень плетусь в конце группы. и все остальные типы были заняты уже это единственное что я подобрал из свободных. картинки фигур в ресурсном файле.

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Приложение:
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, ExtCtrls, StdCtrls;
  8.  
  9. type
  10. TForm1 = class(TForm)
  11. procedure FormCreate(Sender: TObject);
  12. private
  13.  
  14. { Private declarations }
  15. public
  16. { Public declarations }
  17. end;
  18. //--------------------------------------------------------------------
  19. TDoska=class(Tpanel) {ÊËÀÑÑ - ÄÎÑÊÀ}
  20. private
  21. Dx,Dy:Integer;// êîîðäèíàòû êëåòêè
  22. public
  23. property PosX:Integer read Dx write Dx;
  24. property PosY:Integer read Dy write Dy;
  25. end;
  26. //-----------------------------------------------------------------------
  27. TFigura = class(TImage)
  28. private
  29. FPlace: Integer;
  30. FColor: string;
  31. constructor ConstructorName(PosX,PosY:Integer);
  32. end;
  33. //-----------------------------------------------------------------------
  34. var
  35. Form1: TForm1;
  36. PanelArray: array[1..8,1..8]of TPanel; //ìàññèâ èç ïàíåëåé
  37. PosX,PosY:Integer; //ïîëîæåíèÿ äëÿ ôèãóð
  38. LabelArray: array[1..32] of TLabel; // ìàññèâ èç ìåòîê
  39. NextTurn: string; //öâåò
  40. implementation
  41.  
  42. {$R *.dfm}
  43.  
  44. //----------------------------------------------------------------------------
  45. constructor TFigura.ConstructorName(PosX,PosY:integer);
  46. begin
  47. inherited Create(Form1);
  48. parent:=Form1;
  49. dragmode:= dmAutomatic
  50.  
  51.  
  52.  
  53.  
  54. end;
  55. procedure TForm1.FormCreate(Sender: TObject); //ñîçäàíèå ôîðìû
  56. var x,y,i:Integer; //ïåðåìåííûå
  57. begin
  58. for x:=1 to 8 do //îòñ÷åò ïî ãîðèçîíòàëè
  59. for y:=1 to 8 do //îòñ÷åò ïî âåðòèêàëè
  60. begin
  61. PanelArray[x,y]:= TDoska.Create(Self); //ñîçäàíèå ïàíåëè
  62. with PanelArray[x,y] do
  63. begin
  64. parent:=form1; //îïðåäåëåíèå ðîäèòåëÿ
  65. PosX:=x;
  66. PosY:=y;
  67. Width:=50; //øèðèíà è âûñîòà
  68. Height:=50;
  69. Top:=20+50*(y-1);
  70. Left:=20+50*(x-1);
  71. if (x+y) mod 2 = 1 then //÷åðåäîâàíèå öâåòîâ
  72. Color:=clBlack //áåëîãî è ÷åðíîãî
  73. else Color:=clWhite;
  74. end;
  75.  
  76.  
  77.  
  78. end;
  79. for i:=1 to 8 do // ñîçäàíèå è ðàññòàíîâêà ìåòîê
  80. begin
  81. LabelArray[i]:=TLabel.create(Form1);
  82. LabelArray[i+8]:=TLabel.Create(Form1);
  83. LabelArray[i+16]:=TLabel.create(Form1);
  84. LabelArray[i+24]:=TLabel.create(Form1);
  85. LabelArray[i].Parent:=form1;
  86. LabelArray[i+8].Parent:=form1;
  87. LabelArray[i+16].Parent:=form1;
  88. LabelArray[i+24].Parent:=form1;
  89. LabelArray[i].Top:=41+(i-1)*50;
  90. LabelArray[i+8].Top:=41+(i-1)*50;
  91. LabelArray[i+16].Top:=424;
  92. LabelArray[i+24].Top:=6;
  93. LabelArray[i].Left:=5;
  94. LabelArray[i+8].Left:=429;
  95. LabelArray[i+16].Left:=41+(i-1)*50;
  96. LabelArray[i+24].Left:=41+(i-1)*50;
  97. LabelArray[i].Caption:=intToStr(9-i);
  98. LabelArray[i+8].Caption:=intToStr(9-i);
  99. LabelArray[i+16].Caption:=chr(64+i);
  100. LabelArray[i+24].Caption:=chr(64+i);
  101. end;
  102. end;
  103.  
  104. end.


Ruslan1993 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Ruslan1993 (статус: Посетитель)
Вопрос отправлен: 18 октября 2011, 11:09
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 18 октября 2011, 11:20; участников в обсуждении: 1.
min@y™

min@y™ (статус: Доктор наук), 18 октября 2011, 11:20 [#1]:

Цитата (Ruslan1993):

у меня постоянно по 30 ошибок вылетает

Самое важное не указал: какие ошибки и в каких строках.
Совет: пиши классы в отдельном модуле.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:26
Выполнено за 0.02 сек.