Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
6-39438
NightCon
2003-01-21 12:25
2003.03.13
Обмен данными между формами IntraWeb


14-39570
Дмитрий К.К.
2003-02-27 06:37
2003.03.13
Именинники 27 февраля


1-39344
SkyQuake
2003-03-01 14:14
2003.03.13
Пробелы после строки.


1-39279
KpeHgeJIb
2003-03-03 16:44
2003.03.13
Перетягивание картинки в произвольную часть экрана...


3-39232
John
2003-02-22 21:03
2003.03.13
Добавление изображения в базу




   Наверх