Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.13;
Скачать: CL | DM;

Вниз

нужна программа   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
3-39233
Ixion
2003-02-23 03:15
2003.03.13
BDE vs ADO


3-39213
kalishenko stas
2003-02-20 19:19
2003.03.13
FastReport


9-39147
DrDmitrij
2002-10-15 12:26
2003.03.13
Логика игры Арканоид


1-39334
Adolf
2003-02-28 21:13
2003.03.13
Линейка


1-39299
Sirus
2003-03-04 08:56
2003.03.13
Как блокировать файла от копирования???