Главная страница
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.024 c
14-39515
Сатир
2003-02-23 15:11
2003.03.13
А вы спорили...


3-39194
Ihtiandr
2003-02-18 18:02
2003.03.13
insert


3-39239
werus
2003-02-20 23:26
2003.03.13
Доступ к Ораклу


1-39414
Cool Cooler
2003-03-03 10:20
2003.03.13
Вопрос про параметры


1-39303
cdadmitriy
2003-03-03 10:05
2003.03.13
RichEdit Ограничение Ввода Данных