Главная страница
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.014 c
6-39449
Nick_N_A
2003-01-18 07:40
2003.03.13
Web-Browser


4-39623
viper
2003-01-22 14:59
2003.03.13
Запуск приложение


14-39536
AlexanderSK
2003-02-26 12:04
2003.03.13
службы windows


7-39598
ksa3003
2003-01-15 10:01
2003.03.13
Проблема с Модемом


1-39373
grei
2003-03-02 19:37
2003.03.13
Открытие файлов через windows