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

Вниз

записи и файлы!   Найти похожие ветки 

 
oliksin   (2013-06-04 22:47) [0]

Поля шахматной доски характеризуются записью
  Type
     Pole=record
               Ver:(a,b,c,d,e,f,g,h);  {вертикальные координаты}
               Hor:1..8;                    {горизонтальные координаты}
              end;
    Var   Figura:Pole;

Вывести сообщение, может ли конь за один ход перейти с поля Figurai на поле Figuraj.

как это сделать??


 
O'ShinW ©   (2013-06-04 23:01) [1]

ShowMessage? :)

зы
Конь ходит на 2 клетки в одну из 4х сторону и одну перпендикулярно этому направлению
Соответственно, разность по модулю координат должна быть 2 и 1 или 1 и 2
координаты Ver:(a,b,c,d,e,f,g,h); следует брать как 1,2,3, .. см Ord()


 
Dennis I. Komarov ©   (2013-06-05 22:59) [2]


> Конь ходит на 2 клетки в одну из 4х сторону и одну перпендикулярно
> этому направлению
> Соответственно, разность по модулю координат должна быть
> 2 и 1 или 1 и 2
> координаты Ver:(a,b,c,d,e,f,g,h); следует брать как 1,2,
> 3, .. см Ord()

теперь надо файлы как-то приклеить...


 
Dimka Maslov ©   (2013-06-05 23:11) [3]

Насколько я помню, мне задавали задачу для игры "Волк и овцы" (была такая) при заданной расстановке фигур определить, есть ли у "волка" возможность выиграть партию. Не осилил тогда.... С шахматным конём намного проще, для начала можно попытаться сделать решение для пешки, ладьи, слона, ферзя и короля. Там и коня можно будет осилить. Остаётся непонятным только вопрос про файлы...


 
"Добрый Сок"   (2013-06-06 09:27) [4]


Волки и овца ?
4 шашки - волки, загоняют 1 шашку - овцу.  Волки ходят только вперед, овца может и назад. Игра ловушечная, при правильной стратегии волки всегда загоняют овцу.


> С шахматным конём намного проще

Конечно, разность по модулю координат должна быть 2 и 1 или 1 и 2
ладьи - если хоть одна координата такая же
слона - если разность по модулю координат равна
ферзя - если или ладьи или слона
короля - если разность по модулю координат не больше 1


теперь надо файлы как-то приклеить...
> Остаётся непонятным только вопрос про файлы...

Автору походу это тоже непонятно. Да ну и фиг с ним, нам и без него хорошо, да? :)


 
Inovet ©   (2013-06-06 09:32) [5]

> [4] "Добрый Сок"   (06.06.13 09:27)

А как же другие фигуры на доске?


 
"Добрый Сок"   (2013-06-06 10:23) [6]


Inovet ©   (06.06.13 09:32) [5]
> А как же другие фигуры на доске?

Это в задаче не сказано :) Тем более, для коня это не важно.
Если только на том поле не стоит своя или не открывается шах.


 
Dimka Maslov ©   (2013-06-06 14:05) [7]


> "Добрый Сок"   (06.06.13 09:27) [4]


Вообще-то было наборот - один волк и четыре овцы


 
[ВладОшин] ©   (2013-06-06 14:10) [8]


> Вообще-то было наборот - один волк и четыре овцы

Возможно. Но в чем тогда смысл?
В той, которую знаю я - 4 волка загоняют овцу.

А 4 овцы как взаимодействуют с волком? %)


 
Anatoly Podgoretsky ©   (2013-06-06 14:56) [9]

> Dimka Maslov  (06.06.2013 14:05:07)  [7]

Эти овцы совсем обнаглели


 
Dimka Maslov ©   (2013-06-06 15:29) [10]


> А 4 овцы как взаимодействуют с волком? %)


Задача волка прорвать цепь овец и выйти на оперативный простор, где он может спокойно грабить@убивать, задача овец - таки загнать волка в угол.


 
Sha ©   (2013-06-06 16:09) [11]

волк серый


 
Inovet ©   (2013-06-06 18:32) [12]

> [6] "Добрый Сок"   (06.06.13 10:23)
> Тем более, для коня это не важно.
> Если только на том поле не стоит своя или не открывается шах.

Ну ыот, начинается - тут читаем, тут не читаем, тут рыбу заворачивали.:)


 
Очень Злой   (2013-06-09 09:52) [13]

По идее должно так работать:
function IsKnightMove(figura1,figura2:Pole):boolean;
begin
 Result:=(ord(figura1.Ver)-ord(figura2.Ver))*(ord(figura1.Ver)-ord(figura2.Ver))+(ord(figura1.Hor)-ord(figura2.Hor))*(ord(figura1.Hor)-ord(figura2.Hor))=5;
end;


 
RWolf ©   (2013-06-09 11:09) [14]


>  [13]

sqr же.


 
[ВладОшин] ©   (2013-06-09 11:42) [15]

не, именно так.
работает

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
 ARow: Integer; var CanSelect: Boolean);
 var
   hod:boolean;
 Figura1,Figura2: Pole;
 i,j:Integer;
begin
  for i := 0 to 7  do
   for j := 0 to  7 do
     StringGrid1.cells[i,j] := "";

   Figura1.Ver := Vertikal(ACol);
   Figura1.Hor := ARow;

   for i := 0 to 7  do
   for j := 0 to  7 do
   begin
      Figura2.Ver := Vertikal(i);
      Figura2.Hor := j;
      hod :=(ord(figura1.Ver)-ord(figura2.Ver))*(ord(figura1.Ver)-ord(figura2.Ver))+(ord(figura1.Hor)-ord(figura2.Hor))*(ord(figura1.Hor)-ord(figura2.Hor))=5;
      if hod then
        StringGrid1.cells[i,j] := "X";
     end;


 
Dennis I. Komarov ©   (2013-06-10 21:40) [16]

> Автору походу это тоже непонятно. Да ну и фиг с ним, нам и без него хорошо, да? :)

Да не то чтоб хорошо, но каплю хоть думать надо?


 
[ВладОшин] ©   (2013-06-10 22:14) [17]

че ее думать - чай не теорема
а вода, впитавшая экстракт чайного листа :)



Страницы: 1 вся ветка

Текущий архив: 2014.03.23;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.011 c
2-1370095621
Cobalt
2013-06-01 18:07
2014.03.23
TReader error: Invalid property value


6-1271928108
vvv777
2010-04-22 13:21
2014.03.23
как передать файл из компа в контроллер по ethernet


15-1380924488
xayam
2013-10-05 02:08
2014.03.23
Помогите распознать мелодию


15-1380916731
Туповатый
2013-10-04 23:58
2014.03.23
проприетарный


15-1380832202
Юрий
2013-10-04 00:30
2014.03.23
С днем рождения ! 4 октября 2013 пятница