|
Комментарии | #1 Автор: Nika (2020.04.25 03:16, изменений: 3, 2020.04.25 03:40) | zhasmin, Замечания такие:
1) удалил ваш архив с сорсами, поскольку они уже включены в архив с Tchess.exe. Чтобы не было дубляжа.
2) Снова-таки, перенёс в раздел --НА УДАЛЕНИЕ прежний архив с программой и её сорсами и перезалил его же содержимое в приведенном в порядок виде. Скомпилированный Tchess.exe оставил тот же, что и был. - Полагаю, он достаточно оттестированный.
3) Если предоставляются сорсы, то они не должны содержать скомпилированных TPU-модулей, поскольку при компиляции потом сорсов другой версией компилятора эти TPU-модули могут прилинковаться к новому коду программы с трудно обнаруживаемыми ошибками. Код после этого будет ненадёжным.
4) Класть рядом с исполняемым файлом Tchess.exe драйвер EgaVga.bgi не нужно. При линковке исполняемого файла используется EgaVga.OBJ, - это и есть этот самый драйвер EgaVga.bgi, прилинковываемые к программе. Внешний файл EgaVga.bgi не ищется и не загружается. Он лишний.
5) По самой программе: Играет странно. Абсолютно явные "подставы" пропускает, видимо, придерживаясь "вшитых" дебютных стратегий.
6) Что ещё более странно - что игра продолжается как ни в чём не бывало даже после взятия противником моего короля. ))Это ж геноцид какой-то - до полного истребления всех фигур.
7) Сорсы хотя и компилируются, но не являются полными. Важная составляющая алгоритма - данные - содержатся в дистрибутиве в уже оттранслированном в OBJ виде, эти OBJ-фалы потом просто прилинковываются.
8) А так вообще интересная раздача. Пусть будет, однозначно.
|
#2 Автор: zhasmin (2020.04.26 04:22) | Не знаю, я не смог доиграть с ней до взятия короля, хотя играл многократно. Вы видно хороший шахматист. Да, она играет необычно. Может выдвинуть пешку в дебюте H2-H4, но потом оно оказывается все осмысленно и работает. Сам Корнилов - автор кода и книги, утверждает, что в коде почти полностью отсуствует оценочная функция. Не отсуствует, а почти отсуствует. Про файл EgaVga - читаю в первый раз. Я полагал, что он нужен. Я просто уже не помню, но там вроде указывается при компиляции где будет этот драйвер; вшитый в Exe или в каталоге с программой. |
#3 Автор: Nika (2020.04.26 06:09, изменений: 4, 2020.04.26 06:25) | Линковка драйвера к TChess.exe:
Файл tchess.pas: стр.15: {$L vga.obj} стр.69: RegisterBGIDriver(@vgadrv)
Если же не линковать драйвер, то тогда нужно прилинковать "заглушку" graphics.lib, которая будет подгружать внешний egavga.bgi динамически. Такая возможность была оставлена в угоду удобству устаранения глюков в графической библиотеке, тогда можно обговлять сам внешний драйвер, без перекомпиляции программы, исходных текстов которой может и не быть в наличии.
Сам файл vga.obj был получен с помощью борландовской утилиты bgiobj.exe C:> bgiobj.exe egavga.bgi vga.obj vgadrv
Так что внешний файл egavga.bgi можно с этой программой не таскать, он вшит в неё.
)) А шахматист я никакой и всегда быд нелюбителем. Просто терпения не хватало в них играть. А вот программная реализация занятна.
Взятие же короля - это потому, что я специально его подставил, чтобы посмотреть, что будет. И проделывал это трижды, программа хоть бы хны, съедает короля и продолжает играть. |
| |
|