Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.03.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.005 c
2-1370624079
stas
2013-06-07 20:54
2014.03.23
Форматирование текста командой format


2-1371311691
novai
2013-06-15 19:54
2014.03.23
Вызов метода родителя


2-1370095621
Cobalt
2013-06-01 18:07
2014.03.23
TReader error: Invalid property value


2-1370193829
Вова
2013-06-02 21:23
2014.03.23
Работа с потоками вызов из потока процедур определенных вне его


2-1370071648
Fr
2013-06-01 11:27
2014.03.23
Drag & Drop и TDrawGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский