Форум: "Потрепаться";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
Внизнужна программа Найти похожие ветки
← →
jeka24 (2003-02-24 19:35) [0]Подруге задали задачку может у кого уже есть исходник?
Дана шахматная доска, кликнув на любой из ее (8 на 8) клетке, мы какбы ставим туда ферзя, необходимо вывести все его дальнейшие ходы звездочкой, остальные ноликами
← →
SexBomb (2003-02-24 21:41) [1]Пусь подруга натурой отдаст, а потом посмотрим.
← →
hogo (2003-02-24 22:09) [2]Обработка клика:
procedure TForm1.StringGrid1Click(Sender: TObject);
var i,j: integer;
x,y: integer;
begin
x:=StringGrid1.Selection.Left;
y:=StringGrid1.Selection.top;
for i:=0 to 8 do
for j:=0 to 8 do
StringGrid1.Cells[i,j]:="0";
StringGrid1.Cells[x,y]:="*";
for i:=0 to 7 do
StringGrid1.Cells[i,y]:="*";
for i:=0 to 7 do
StringGrid1.Cells[x,i]:="*";
i:=x; j:=y;
while (i<>0) and (j<>0) do
begin
i:=i-1; j:=j-1;
StringGrid1.Cells[i,j]:="*";
end;
i:=x;j:=y;
while (i<=7) and (j<>0) do
begin
i:=i+1; j:=j-1;
StringGrid1.Cells[i,j]:="*";
end;
i:=x;j:=y;
while (i<>0) and (j<=7) do
begin
i:=i-1; j:=j+1;
StringGrid1.Cells[i,j]:="*";
end;
i:=x;j:=y;
while (i<=7) and (j<=7) do
begin
i:=i+1; j:=j+1;
StringGrid1.Cells[i,j]:="*";
end;
end;
Код формы:
object Form1: TForm1
Left = 257
Top = 197
Width = 273
Height = 263
Caption = "Form1"
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = "MS Sans Serif"
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object StringGrid1: TStringGrid
Left = 8
Top = 8
Width = 249
Height = 209
ColCount = 8
FixedCols = 0
RowCount = 8
FixedRows = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = "Arial"
Font.Style = [fsBold]
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine]
ParentFont = False
TabOrder = 0
OnClick = StringGrid1Click
ColWidths = (
29
30
29
31
28
30
28
28)
end
end
← →
i-C3H7OH (2003-02-25 03:52) [3]var board:array[1..8,1..8] of char;
ферзь стоит в позиции x,y
//очистка
for i:=1 to 8 do
for j:=1 to 8 do
board[i,j] := "0";
for i:=1 to 8 do
begin
board[i,y] := "*";//горизонталь
board[x,i] := "*";//вертикаль
end;
//насчет диагоналей надо подумать
for i:=1 to 8 do
begin
board[i-x,i-y] := "*";
board[9-i-x,i-y] := "*";
end;
непроверял....
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c