Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
56 / 56 / 26
Регистрация: 13.11.2013
Сообщений: 234
Записей в блоге: 1

Портировать модуль ABCChessObjects

26.02.2014, 21:57. Показов 1417. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
люди кому не трудно прошу портировать модуль ABCChessObjects под pascalabc.net
вот его оригинал на pascal abc
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
unit ABCChessObjects;
 
interface
 
uses GraphABC, ABCObjects, PointRect;
 
type
  ChessBoardABC=class(BoardABC)
    Delay: integer;
    constructor Create(x,y,nn,mm,ssz: integer; cl: ColorType); begin Delay:=20; inherited Create(x,y,nn,mm,ssz,cl) end;
    procedure Draw(x,y: integer);
  end;
 
  ChessFigureABC=class(ObjectABC)
  private
    b: integer;
    board: ChessBoardABC;
  public
    constructor Create(x,y,bb: integer; brd: ChessBoardABC);
    procedure Draw(x,y: integer); begin DrawPicture(b,x,y); end;
    procedure Move(newx,newy: integer);
    procedure Move(s: string);
    function Clone0: ObjectABC; begin Result:=ChessFigureABC.CreateBy(Self) end;
    function Clone: ChessFigureABC; begin Result:=ChessFigureABC(Clone0) end;
  end;
 
  ChessSetABC=class
  private
    m,b,sz: integer;
    board: ChessBoardABC;
  public
    constructor Create(fname: string; size: integer; brd: ChessBoardABC);
    function CreateContainerABC(x,y,n: integer): ChessFigureABC;
    function CreateWhiteKing(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,1); end;
    function CreateWhiteQueen(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,2); end;
    function CreateWhiteBishop(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,3); end;
    function CreateWhiteKnight(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,4); end;
    function CreateWhiteRook(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,5); end;
    function CreateWhitePown(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,6); end;
    function CreateBlackKing(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,7); end;
    function CreateBlackQueen(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,8); end;
    function CreateBlackBishop(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,9); end;
    function CreateBlackKnight(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,10); end;
    function CreateBlackRook(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,11); end;
    function CreateBlackPown(x,y: integer): ChessFigureABC; begin Result:=CreateContainerABC(x,y,12); end;
    procedure SetSize(w: integer); begin SetPictureSize(m,w*6,w); end;
  end;
 
function CreateChessBoardABC(x,y,nn,mm,ssz: integer; cl: ColorType): ChessBoardABC;
 
implementation
 
//------ ChessBoardABC ------
procedure ChessBoardABC.Draw(x,y: integer);
var i,j: integer;
begin
  inherited Draw(x,y);
  SetBrushColor(clLightGray);
  for i:=1 to DimX do
  for j:=1 to DimY do
    if (i+j) mod 2 = 1 then
      FillRect(x+(i-1)*CellSize+1,y+(j-1)*CellSize+1,x+i*CellSize,y+j*CellSize);
end;
 
//------ ChessSetABC ------
constructor ChessSetABC.Create(fname: string; size: integer; brd: ChessBoardABC);
begin
  board:=brd;
  m:=LoadPicture(fname);
  SetPictureSize(m,size*12,size);
  sz:=PictureHeight(m);
  b:=CreatePicture(12*sz,sz);
  SetDrawingSurface(b);
  DrawPicture(m,0,0);
  RestoreDrawingSurface;
end;
 
function ChessSetABC.CreateContainerABC(x,y,n: integer): ChessFigureABC;
var k: integer;
begin
  SetDrawingSurface(b);
  k:=CreatePictureFromRect(RectF((n-1)*sz,0,n*sz,sz));
  RestoreDrawingSurface;
  SetPictureTransparent(k,True);
  Result:=ChessFigureABC.Create(x,y,k,board);
end;
 
//------ ChessFigureABC ------
constructor ChessFigureABC.Create(x,y,bb: integer; brd: ChessBoardABC);
begin
  b:=bb;
  board:=brd;
  inherited Create(brd.Left+(x-1)*brd.CellSize+3,brd.Top+(8-y)*brd.CellSize+3,PictureWidth(b),PictureHeight(b),clWhite);
end;
 
procedure ChessFigureABC.Move(newx,newy: integer);
var
  i,x,y,num: integer;
  t: real;
begin
  newx:=board.Left+(newx-1)*board.CellSize+3;
  newy:=board.Top+(8-newy)*board.CellSize+3;
  x:=Left;
  y:=Top;
  t:=0;
  num:=board.Delay;
  for i:=1 to num do
  begin
    t:=t+1/num;
    Sleep(10);
    moveto(round(t*newx+(1-t)*x),round(t*newy+(1-t)*y));
  end;
end;
 
procedure ChessFigureABC.Move(s: string);
begin
  Move(Ord(s[1])-Ord('a')+1,StrToInt(s[2]));
end;
 
function CreateChessBoardABC(x,y,nn,mm,ssz: integer; cl: ColorType): ChessBoardABC;
begin
  Result:=ChessBoardABC.Create(x,y,nn,mm,ssz,cl);
end;
 
end.
сам пробовал но не получилось
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.02.2014, 21:57
Ответы с готовыми решениями:

Портировать модуль С++
Как портировать модуль на С++ по Linux? Такое вообще возможно?

Портировать функцию из C# в C++
Всем привет! Не знаю в какую тему написать, поэтому напишу всё-таки здесь. Есть некая программа которая написана на C#, и которую я...

Портировать программу на Linux
Проблема в следующем: нужно найти способ запустить программу написанную на VB.net с использованием .NET Framework 2.0 на компьютере с...

2
0 / 0 / 3
Регистрация: 10.03.2017
Сообщений: 39
18.03.2018, 13:39
У меня получилось портировать, но нужно проверить. Если у кого есть коды для этого модуля, пожалуйста отправьте мне их для дальнейшей отладки модуля.
Проблемы с перемещением фишек по полю.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
unit ABCChessObjects;
 
interface
 
uses GraphABC, ABCObjects{,ABCObjects2};
type
  colortype = graphabc.Color;
 
type
  ChessBoardABC = class(BoardABC)
    sz: integer;
    Delay: integer;
    gr: pictureABC;
    constructor Create(x, y, nn, mm, ssz: integer; cl: Colortype := graphabc.Color.White);
    begin
      inherited Create(x, y, nn, mm, ssz, ssz, cl);
      sz := ssz;
      Delay := 20;
      var p := new picture(DimX * sz, DimY * sz);
      SetBrushColor(clLightGray);
      for var i := 1 to DimX do
        for var j := 1 to DimY do
          if (i + j) mod 2 = 1 then
            p.FillRect((i - 1 ) * sz + 1, (j - 1) * sz + 1, i * sz, j * sz);
      gr := new PictureABC(10, 10, p);
    end;
    
    procedure Draw(x, y: integer);
  end;
  
  ChessFigureABC = class(ObjectABC)
  private 
    b: pictureabc;
    board: ChessBoardABC;
  public
    public sz: integer;
    constructor Create(x, y: integer; bb: picture; brd: ChessBoardABC);
    constructor Create(g: ChessFigureABC);
    procedure Draw(x, y: integer);
    begin
      b.draw(x, y);
    end;
    
    procedure Move(newx, newy: integer);
    procedure Move(s: string);
    function Clone0: ObjectABC;
    begin
      result := new ChessFigureABC(self);
    end;
    
    function Clone: ChessFigureABC;begin Result := ChessFigureABC(Clone0) end;
  end;
  
  ChessSetABC = class(BoardABC)
  private 
    b: picture;
    sz: integer;
    board: ChessBoardABC;
  public 
    constructor Create(fname: string; size: integer; brd: ChessBoardABC);
    function CreateContainerABC(x, y, n: integer): ChessFigureABC;
    function CreateWhiteKing(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 1); end;
    
    function CreateWhiteQueen(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 2); end;
    
    function CreateWhiteBishop(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 3); end;
    
    function CreateWhiteKnight(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 4); end;
    
    function CreateWhiteRook(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 5); end;
    
    function CreateWhitePown(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 6); end;
    
    function CreateBlackKing(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 7); end;
    
    function CreateBlackQueen(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 8); end;
    
    function CreateBlackBishop(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 9); end;
    
    function CreateBlackKnight(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 10); end;
    
    function CreateBlackRook(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 11); end;
    
    function CreateBlackPown(x, y: integer): ChessFigureABC;begin Result := CreateContainerABC(x, y, 12); end;
    //procedure SetSize(w: integer); begin SetPictureSize(m,w*6,w); end;
  end;
 
function CreateChessBoardABC(x, y, nn, mm, ssz: integer; cl: Color): ChessBoardABC;
 
implementation
 
//------ ChessBoardABC ------
procedure ChessBoardABC.Draw(x, y: integer);
//var
  //i, j: integer;
begin
  inherited Draw(x, y);
  
  {SetBrushColor(clLightGray);
  for i := 1 to DimX do
  for j := 1 to DimY do
  if (i + j) mod 2 = 1 then
  FillRect(x + (i - 1) * sz, y + (j - 1) * sz, x + i * sz, y + j * sz);}
end;
 
//------ ChessSetABC ------
constructor ChessSetABC.Create(fname: string; size: integer; brd: ChessBoardABC);
begin
  board := brd;
  b := new Picture(fname);
  b.SetSize(size * 12, size);
  sz := b.Height
  
end;
 
function ChessSetABC.CreateContainerABC(x, y, n: integer): ChessFigureABC;
var
  k: integer;
begin
  b.DrawRectangle((n - 1) * sz, 0, n * sz, sz);
  Result := ChessFigureABC.Create(x, y, b, board);
end;
 
//------ ChessFigureABC ------
constructor ChessFigureABC.Create(x, y: integer; bb: picture; brd: ChessBoardABC);
begin
  inherited Create(brd.Left + (x - 1) * brd.sz + 3, brd.Top + ( y-1) * brd.sz + 3, bb.Width, bb.Height, clWhite);
  b := new PictureABC(brd.Left + (x - 1) * brd.sz + 3, brd.Top + ( y-1) * brd.sz + 3, bb);
  board := brd;
end;
 
constructor ChessFigureABC.Create(g: ChessFigureABC);
begin
  inherited InitBy(g);
end;
 
procedure ChessFigureABC.Move(newx, newy: integer);
var
  i, x, y, num: integer;
  t: real;
begin
  newx := board.Left + (newx - 1) * board.sz + 3;
  newy := board.Top + (newy - 1) * board.sz + 3;
  x := Left;
  writeln(x);
  y := Top;
  t := 0;
  num := board.Delay;
  for i := 1 to num do
  begin
    t := t + 1 / num;
    Sleep(50);
    var mtx,mty:integer;
    {if newx>=x then}
    mtx := round( t * newx {+ (1 - t) * x});
    {else
    mtx := round( t * newx - (1 - t) * x);}
    if newy>=y then
     mty := round(t * newy - (1 - t) * y)
     else
     mty := round(t * newy + (1 - t) * y);
    moveto(mtx, mty);
    b.MoveTo(mtx, mty);
  end;
  
end;
 
procedure ChessFigureABC.Move(s: string);
begin
  Move(Ord(s[1]) - Ord('a') + 1, StrToInt(s[2]));
end;
 
function CreateChessBoardABC(x, y, nn, mm, ssz: integer; cl: Color): ChessBoardABC;
begin
  Result := ChessBoardABC.Create(x, y, nn, mm, ssz, cl);
end;
 
end.
Добавлено через 14 часов 29 минут
Рабочая функция процедура:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure ChessFigureABC.Move(newx, newy: integer);
var
  i, x, y, num: integer;
  t: real;
begin
  newx := board.Left + (newx - 1) * board.sz + 3;
  newy := board.Top + (newy - 1) * board.sz + 3;
  vAR oldx,oldy:integer;
  oldx:=b.Position.X;
  oldy:=b.Position.Y;
  t := 0;
  num := board.Delay;
  for i := 1 to num do
  begin
    t := t + 1 / num;
    Sleep(50);
    var mtx,mty:integer;
    mtx:=abs(oldx-round((oldx-newx)*t));
    mty:=abs(oldy-round((oldy-newy)*t));
    moveto(mtx, mty);
    b.MoveTo(mtx, mty);
  end;
end;
0
0 / 0 / 3
Регистрация: 10.03.2017
Сообщений: 39
18.03.2018, 22:03
Вроде закончил. Шахматную доску нельзя перемещать. Теперь для источника изображений фигур используется не .wmf а .bmp или картинки, типа graphabc.picture
Рабочий вариант:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
unit ABCChessObjects;
//Авторы модуля:Ivan Bondarev, Stanislav Mihalkovich
//Портирован с PascalABC для PascalABC.net
//Портировал: Nikita22007
//Добавил комментарии: Nikita22007
interface
 
uses GraphABC, ABCObjects,graphABCHelper;
type
  /// Тип цвета
  colortype = graphabc.Color;
 
type
  ///Класс шахматной доски
  ChessBoardABC = class(BoardABC)
    sz: integer;
    Delay: integer;
    gr: pictureABC;
    ///Создаёт шахматную доску в координатах x y размером nn на mm клеток размером size
    constructor Create(x, y, nn, mm, ssz: integer; cl: Colortype := graphabc.Color.White);
    begin
      inherited Create(x, y, nn, mm, ssz, ssz, cl);
      sz := ssz;
      Delay := 20;
      var p := new picture(DimX * sz, DimY * sz);
      SetBrushColor(clLightGray);
      for var i := 1 to DimX do
        for var j := 1 to DimY do
          if (i + j) mod 2 = 1 then
            p.FillRect((i - 1 ) * sz + 1, (j - 1) * sz + 1, i * sz, j * sz);
      gr := new PictureABC(10, 10, p);
    end;
  
    //procedure Draw(x, y: integer);
  end;
  ///Классфигуры
  ChessFigureABC = class(ObjectABC)
  private 
    b: pictureabc;
    board: ChessBoardABC;
  public
    public sz: integer;
    ///Создаёт фигуру из кортинки bbв клетке x y доски brd
    constructor Create(x, y: integer; bb: picture; brd: ChessBoardABC);
    ///Создаёт копию фигуры g
    constructor Create(g: ChessFigureABC);
    {procedure Draw(x, y: integer);//Отрисовывает фигуру
    begin                          //Оключена,т.к. PictureABCперерисовывается автоматически
      b.draw(x, y);
    end;}
    ///перемещает фигуру вклетку x y
    ///- Move(x, y: integer)
    procedure Move(newx, newy: integer);
    ///Пересещает фигуру в клетку, заданную буквой, например move(a1) = move(1,1). Буквы обязательно строчные латинские
    procedure Move(s: string);
    ///--
    private function Clone0: ObjectABC;
    begin
      result := new ChessFigureABC(self);
    end;
    public
     ///Возвращает копию фигуры
    function Clone := ChessFigureABC(Clone0); 
    ///Удаляет фигуру. Вызов обязателен, иначе останется неуправляемая картинка.
    destructor Destroy;
    begin
      b.Destroy;
    end;
  end;
  ///Класс создания фигур
  ChessSetABC = class(BoardABC)
  private 
    b: picture;
    sz: integer;
    board: ChessBoardABC;
  public 
    ///Загружает графический набор из файла fname
    constructor Create(fname: string; size: integer; brd: ChessBoardABC);
    ///Загружает графический набор из картинки paint
    constructor Create(paint: picture; size: integer; brd: ChessBoardABC);//От меня лично! Созданиефигур из Картинки
    ///Создаёт фигуру nвклетке x, y
    function CreateContainerABC(x, y, n: integer): ChessFigureABC;
    ///Создаёт Белого короля в клетке x y
    function CreateWhiteKing(x, y: integer) := CreateContainerABC(x, y, 1);
    ///Создаёт Белую Королеву в клетке x y
    function CreateWhiteQueen(x, y: integer) := CreateContainerABC(x, y, 2);
    ///Создаёт Белого слона в клетке x y
    function CreateWhiteBishop(x, y: integer) := CreateContainerABC(x, y, 3);
    ///Создаёт Белого коня в клетке x y
    function CreateWhiteKnight(x, y: integer) := CreateContainerABC(x, y, 4);
    ///Создаёт Белую ладью в клетке x y
    function CreateWhiteRook(x, y: integer) := CreateContainerABC(x, y, 5);
    ///Создаёт Белую пешку в клетке x y
    function CreateWhitePawn(x, y: integer) := CreateContainerABC(x, y, 6);
    ///Создаёт Чёрного короля в клетке x y
    function CreateBlackKing(x, y: integer) := CreateContainerABC(x, y, 7);
    ///Создаёт Чёрную королеву в клетке x y
    function CreateBlackQueen(x, y: integer) := CreateContainerABC(x, y, 8);
    ///Создаёт Чёрного слона в клетке x y
    function CreateBlackBishop(x, y: integer) := CreateContainerABC(x, y, 9); 
    ///Создаёт Чёрного коня в клетке x y
    function CreateBlackKnight(x, y: integer) := CreateContainerABC(x, y, 10); 
    ///Создаёт Чёрную ладью в клетке x y
    function CreateBlackRook(x, y: integer) := CreateContainerABC(x, y, 11); 
    ///Создаёт Чёрную пешку в клетке x y
    function CreateBlackPawn(x, y: integer) := CreateContainerABC(x, y, 12);
    ///--
    procedure SetSize(w: integer);
    begin
      b.SetSize(w * 6, w);
    end;
  
  end;
{                                                                                   //Фунция должна была создавать новый объект  chessBoardABC
function CreateChessBoardABC(x, y, nn, mm, ssz: integer; cl: Color): ChessBoardABC; //Отключена за ненадобностью. Вместонеё использовать конструкцию new
}
implementation
 
//------ ChessBoardABC ------
{procedure ChessBoardABC.Draw(x, y: integer);//процедура вывода шахматной доски. 
begin                                        //В данный момент ненужна, т.к. шахматная доска теперь pictureABC
  inherited Draw(x, y);                      //Повторный вывод  выполняется  функцией для  перерисовки  всех  графических объектов
end;}
 
//------ ChessSetABC ------
constructor ChessSetABC.Create(paint: picture; size: integer; brd: ChessBoardABC);
begin
  board := brd;
  b := new Picture(size * 12, size);
  b := paint;
  b.SetSize(size * 12, size);
  sz := b.Height
end;
 
constructor ChessSetABC.Create(fname: string; size: integer; brd: ChessBoardABC);
begin
  board := brd;
  b := new Picture(fname);
  b.SetSize(size * 12, size);
  sz := b.Height;
  b.SetTransparent(true);
  b.SetTransparentColor(graphabc.Color.White);
end;
 
function ChessSetABC.CreateContainerABC(x, y, n: integer): ChessFigureABC;
var
  k: integer;
begin
  var ccc := new picture(sz, sz);
  ccc.gb.DrawImage(GetView(b.bmp, Rect((n - 1) * sz, 0, n * sz, sz)), 0, 0);
  Result := ChessFigureABC.Create(x, y, ccc, board);
end;
 
//------ ChessFigureABC ------
constructor ChessFigureABC.Create(x, y: integer; bb: picture; brd: ChessBoardABC);
begin
  inherited Create(brd.Left + (x - 1) * brd.sz + 3, brd.Top + (y - 1) * brd.sz + 3, bb.Width, bb.Height, clWhite);
  b := new PictureABC(brd.Left + (x - 1) * brd.sz + 3, brd.Top + (y - 1) * brd.sz + 3, bb);
  board := brd;
end;
 
constructor ChessFigureABC.Create(g: ChessFigureABC);
begin
  inherited InitBy(g);
end;
 
procedure ChessFigureABC.Move(newx, newy: integer);
var
  i, x, y, num: integer;
  t: real;
begin
  newx := board.Left + (newx - 1) * board.sz + 3;
  newy := board.Top + (newy - 1) * board.sz + 3;
  var oldx, oldy: integer;
  oldx := b.Position.X;
  oldy := b.Position.Y;
  t := 0;
  num := board.Delay;
  for i := 1 to num do
  begin
    t := t + 1 / num;
    Sleep(50);
    var mtx, mty: integer;
    mtx := abs(oldx - round((oldx - newx) * t));
    mty := abs(oldy - round((oldy - newy) * t));
    moveto(mtx, mty);
    b.MoveTo(mtx, mty);
  end;
end;
 
procedure ChessFigureABC.Move(s: string);
begin
  Move(Ord(s[1]) - Ord('a') + 1, StrToInt(s[2]));
end;
 
function CreateChessBoardABC(x, y, nn, mm, ssz: integer; cl: Color): ChessBoardABC;
begin
  Result := ChessBoardABC.Create(x, y, nn, mm, ssz, cl);
end;
 
end.
Вложения
Тип файла: zip ABCChessObjects.zip (2.5 Кб, 7 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.03.2018, 22:03
Помогаю со студенческими работами здесь

Портировать код из Python
Помогите, пожалуйста. Кто может переписать из Python в Pascal? #AVal - массив анализируемых данных, Nvl - длина массива должна быть...

Портировать код с C++ на Паскаль
Портировать код на паскаль string s; int i, g, h, j, k, x, y, d, z, *b,af,gaf; x = y = 0; getline(cin, s); h = s.length(); ...

Портировать код из C++ в VBA
float f(float x) { float y; y = (pow((1-x),5)*exp(x*sin(x))); if (x=0) {y=0;} return y; .....//тут ввод данных ...

Портировать с Action script на с#
уважаемые знатоки, а нельзя ли с экшен скрипта портировать на си# сетевой код? вот у меня тут завалялось кое что, посмотрите пожалуйста?...

Как портировать прогу?
Нужно портировать программу с ATmego328 на ATmega8... вот программа, в программировании на контроллерах плохо разбираюсь... Может что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru