Форум: "Начинающим";
Текущий архив: 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